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

Posted

技术标签:

【中文标题】剑道网格刷新(数据绑定两次)【英文标题】:Kendo grid refresh (databound twice) 【发布时间】:2014-02-21 05:52:22 【问题描述】:

我在刷新剑道网格时遇到问题,由于某种原因,dataBound 事件被激活了两次,有人知道可能是什么问题吗?还是这是正常行为?

$("#grid").data('kendoGrid').dataSource.read();
$("#grid").data('kendoGrid').refresh();

更新:

如果我删除刷新行,dataBound 只会发生一次

$("#grid").data('kendoGrid').refresh();

【问题讨论】:

为什么需要调用refresh()? 所有示例都显示了使用此代码刷新网格,但刚才我看到事件运行了两次,但没有刷新工作正常 @LucasKonrath 这是因为您调用 dataSource.read() 并且它从远程(或可能是客户端)获取数据,所以首先发生 Databound,然后您调用 refresh() 它意味着再次将我绑定到数据源,所以第二个 Databound 发生了。 【参考方案1】:

尝试将 false 设置为自动绑定,然后重试。

http://docs.telerik.com/kendo-ui/api/web/grid#configuration-autoBind

【讨论】:

【参考方案2】:

如果您只是想更新数据,则无需致电Refresh()DataSource.Read() 应该可以。

【讨论】:

【参考方案3】:

您可以删除以下行:

$("#KendoGridId").data("kendoGrid").dataSource.read();
$("#KendoGridId").data("kendoGrid").dataSource.page(1);

到:

$("#KendoGridId").data("kendoGrid").dataSource.read();

【讨论】:

以上是关于剑道网格刷新(数据绑定两次)的主要内容,如果未能解决你的问题,请参考以下文章

动态绑定剑道网格数据源绑定到指令

剑道数据源刷新

将剑道网格与数据源绑定不显示数据

如何自动更新剑道网格?

在 MVC 中重新绑定剑道网格

更改剑道网格角度的模式