是否可以将网格数据源复制到新数据源,这是一个加载所有数据的新数据源?

时间:2014-11-07 02:06:24

标签: kendo-ui kendo-grid kendo-datasource

是否可以将网格数据源复制到新数据源,这是一个加载所有数据的新数据源? 例如,我有一个页面大小为10的kendo网格,我将如何将其复制到一个新的数据源,这将加载所有数据并忽略分页。 T.I.A

3 个答案:

答案 0 :(得分:0)

某些方面可能取决于您如何定义第一个(可分页)数据源的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/

答案 1 :(得分: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/

答案 2 :(得分:0)

请尝试执行以下操作:

var copyDataSource= kendo.data.DataSource.create({
    data: originalDataSource.data()
});