【问题标题】:Is it possible to copy a grid datasource to a new datasource, a new datasource that loads all data?是否可以将网格数据源复制到新数据源,即加载所有数据的新数据源?
【发布时间】:2014-11-07 02:06:23
【问题描述】:

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

【问题讨论】:

  • 但是它应该去服务器获取数据吗?如果是这样,只需复制 DataSource 定义并覆盖分页值。
  • 我尝试查询数据源将分页值设置为0,但返回到视图的数据只是当前分页的数量。
  • 您应该将 serverPaging 设置为 false(在此处查看文档:docs.telerik.com/kendo-ui/api/javascript/data/…
  • 这就是我认为我想念的......我会试试先生

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


【解决方案1】:

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

【讨论】:

  • 谢谢...这就是我一直在寻找的。剑道没有记录.. thaks sir onabai
  • @EduCielo 你能详细说明你的确切问题吗?我不明白为什么从服务器加载它一定是个问题。也许针对您的问题发布一个单独的问题
  • 我在这里遗漏了什么还是这个示例只是创建了对同一数据源的新引用? “var ds2 = ds1;”分配 ds1 为其引用的 DataSource 的地址。如果您通过 ds2 更改它,您将更改与 ds1 指向的相同(一个且唯一)数据源。您需要进行某种深度克隆才能从第一个数据源中获取第二个数据源。
【解决方案2】:

来自@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/

【讨论】:

    【解决方案3】:

    请尝试这样做:

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

    【讨论】:

      猜你喜欢
      • 2010-09-21
      • 2012-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多