【问题标题】:Kendo UI: bug with observe pattern in dataSource when groupingKendo UI:分组时数据源中存在观察模式的错误
【发布时间】:2012-12-03 14:42:48
【问题描述】:

我在配置时为网格分配了一个数据源:

parsedData = $.parseJSON(data);
 var dataSource = new kendo.data.DataSource({
        data: parsedData
    });



$("#grid").kendoGrid({
        dataSource: dataSource,
        etc etc
        .
        .
        .

然后我绑定到更改事件后配置/初始化:

    var grid = $('#grid').data('kendoGrid');
    grid.dataSource.bind("change", function (e) {
        dataChanged();
    });

function dataChanged() {
    var grid = $("#grid").data("kendoGrid");
    grid.refresh();
}

然后我删除dataSource的数据数组中的所有项:

 while (grid.dataSource.data().length > 0) {
    grid.dataSource.data().pop();
}

正如预期的那样,网格中的行消失了。但是,对于空网格,我将列标题拖到组面板,网格会重新填充。

我正在尝试找到一种方法来每 60 秒刷新一次网格数据,因此了解如何清除数据并将其替换为不同的数据对我来说很重要,而不会在未调整到的地方出现残留数据观察对象的观察数组。

或者我做错了什么或不完整——很有可能,因为我刚刚开始使用 Kendo UI。

【问题讨论】:

    标签: datasource kendo-ui


    【解决方案1】:

    正如我在您的other 问题中所说,您需要使用数据源的data 方法。

    【讨论】:

    • 虽然对于 60 秒的刷新,我将使用 dataSource 的 data() 方法替换整个数据数组,但在其他情况下,我需要从数据数组中删除单个行。为什么可以通过将列标题拖动到分组面板来“重新创建”那些删除的行?是否存在分组算法引用的数据集的残留副本,就好像观察者没有通知它们行已从数据数组中删除一样?
    • 不确定你的意思。尝试在 jsfiddle.net 或 jsbin.com 中创建一个演示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 2017-10-27
    • 2020-12-19
    • 1970-01-01
    相关资源
    最近更新 更多