剑道数据源刷新

Posted

技术标签:

【中文标题】剑道数据源刷新【英文标题】:Kendo Datasource refresh 【发布时间】:2016-08-18 17:02:59 【问题描述】:

我遇到了同样的问题,我在堆栈溢出中提出的上一个问题中遇到了同样的问题,但没有成功的答案,谁能指导我。 Kendo ui datasource refresh?

我正在使用 Angular js 绑定网格,假设我正在显示列“jan2016,feb2016”这两个 cilumns 完美显示,但是当我返回并再选择一个月“mar2016”时,网格不会刷新显示 mar2016

我使用了 k-rebind、datasource.read()、datasource.refresh()... 没有任何效果

提前致谢 拉姆

【问题讨论】:

【参考方案1】:

虽然 Erick 的回答可能会奏效,但不要在重建你的剑道小部件时破坏,首先尝试做

$("#grid").data("kendoGrid").setDataSource(datasource)

它的代码少得多,而且它是更改数据源的一种更简洁的方式

【讨论】:

【参考方案2】:

我遇到了完全相同的问题,并且很难从堆栈和剑道论坛中获得答案,我想出的是以下内容:

首先我通过将响应对象保存在新对象中来存储数据源

var DataSourceObj = new []; //some ajax response

那我彻底破坏网格

var grid = $("#grid").data("kendoGrid");
grid.destroy();

然后我重新初始化网格并绑定DataSourceObj(通常将其放在函数闭包中以将其绑定到多个位置)

function initGrid(datasource) 
    $("#grid").kendoGrid(
        selectable: "row",
        allowCopy: true,
        columns: [
             field: "productName" ,
             field: "category" 
        ],
        dataSource: datasource, // bind here
        pageable: 
            pageSize: 10
        
    );


//call initGrid  and pass datasource
initGrid(DataSourceObj);

希望这对你有用:)

【讨论】:

以上是关于剑道数据源刷新的主要内容,如果未能解决你的问题,请参考以下文章

剑道数据源刷新

如何用新数据刷新剑道网格

剑道网格刷新(数据绑定两次)

刷新网格后剑道ui网格可分页大小发生变化

剑道刷新(DropDownList.refresh())不起作用错误未定义

另一个下拉列表的事件更改后刷新剑道下拉列表