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

Kendo ui 是否可以将一个网格数据源复制到一个新的数据源,一个加载所有数据的新数据源?,kendo-ui,kendo-grid,kendo-datasource,Kendo Ui,Kendo Grid,Kendo Datasource,是否可以将一个网格数据源复制到一个新的数据源,一个加载所有数据的新数据源? 例如,我有一个页面大小为10的剑道网格,如何将其复制到一个新的数据源中,该数据源将加载所有数据并忽略分页。某些方面可能取决于您如何定义第一个(可分页)数据源的数据源。但基本上您需要复制原始数据源,然后更改pageSize和serverPaging的值,最后使用setDataSource将其分配给第二个网格 例如: // First DataSource definition var ds1 = { transpo

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

某些方面可能取决于您如何定义第一个(可分页)数据源的数据源。但基本上您需要复制原始数据源,然后更改
pageSize
serverPaging
的值,最后使用
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));

您可以在以下JSFIDLE中看到这一点:

来自@Will comment,我认为更好的解决方案是:

// 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);
请尝试这样做:

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

但是它应该去服务器获取数据吗?如果是这样,只需复制数据源定义并覆盖分页值。我尝试查询数据源,将分页值设置为0,但返回到视图的数据只是当前分页的编号。您应该将
serverPaging
设置为false(检查此处的文档:)这就是我认为缺少的内容。。。我会试试的谢谢。。。这就是我一直在寻找的。剑道没有记录。。塔克斯先生onabai@EduCielo你能详细说明你的问题吗?我不明白为什么从服务器加载时会出现问题。可能会在你的问题中发布一个单独的问题:我是在这里遗漏了什么,还是这个示例只是创建了对同一数据源的新引用?“var ds2=ds1;”指定ds1作为引用的数据源的地址。如果通过ds2对其进行更改,则更改的数据源与ds1指向的数据源相同(只有一个)。您需要进行某种深度克隆,以从第一个数据源获取第二个数据源。