2

是否可以将网格数据源复制到新数据源,即加载所有数据的新数据源?例如,我有一个页面大小为 10 的剑道网格,我将如何将其复制到一个新的数据源中,该数据源将加载所有数据并忽略分页。

4

3 回答 3

1

某些方面可能取决于您如何定义第一个(可分页)数据源的 DataSource。但基本上你需要复制原始数据源,然后更改值pageSizeserverPaging最后使用setDataSource.

例子:

// First DataSource definition
var ds1 = {
    transport: {
        read: ...
    },
    pageSize: 10,
    schema  : {
        model: {
            ...
        }
    }
};

// Copy ds1 definition into ds2
var ds2 = ds1;
// Change values for serverPaging and pageSize
ds2.serverPaging = false;
ds2.pageSize = 0;
// Create new DataSource object and assign it to the second Grid
grid2.setDataSource(new kendo.data.DataSource(ds2));

您可以在以下 JSFiddle 中看到它正在运行:http: //jsfiddle.net/OnaBai/uj6sr9ez/

于 2014-11-08T12:49:58.333 回答
0

从@Will 评论,我认为更好的解决方案是:

// First DataSource definition
var ds1 = {
//  ...

// Create the new kendo datasource, so ds1 is not modified
var ds2 = new kendo.data.DataSource(ds1);
ds2.pageSize(-1);
ds2.serverPaging = false;
grid2.setDataSource(ds2);

http://jsfiddle.net/uj6sr9ez/42/

于 2017-04-11T21:55:55.417 回答
0

请尝试这样做:

var copyDataSource= kendo.data.DataSource.create({
    data: originalDataSource.data()
});
于 2019-12-24T18:31:19.170 回答