javascript - Kendo-UI 网格 使用 Javascript 在网格中设置值

标签 javascript data-binding kendo-ui kendo-grid

我只是想知道如何在 JavaScript 中更改网格中的行值,以便将其在网格和底层数据源中标记为“脏”。

例如我有一个联系人/客户列表。他们有 3 个字段 FirstName/LastName/IsPrimaryContact。只能有 1 个主要联系人,因此当记录上的主要联系人设置为 true 时,我有 JavaScript 代码循环遍历数据源并将设置为主要联系人的任何其他联系人设置为 false。

JavaScript 一切正常,数据字段设置正确,但有两个问题: 1.网格没有随着我对数据源所做的更改而更新 2.更改的记录未标记为“脏”,因此当我调用 Datasource.sync() 时不会同步回来

我可以通过手动设置记录上的脏字段来解决第二个问题,但这似乎不对。感觉我应该在网格级别更新字段,以便它在 UI 和数据源中都处理它。

关于如何解决这个问题有什么想法吗?

谢谢

最佳答案

基本上,当您想要更新记录时,您应该使用 set 模型的方法。例如,要更新数据源的第一条记录,您应该像这样更新它:

var firstItem = $('#GridName').data().kendoGrid.dataSource.data()[0];
firstItem.set('FirstName','The updated Name');

上面应该自动将标志标记为脏,并且它会通知 Grid 有更改,因此 Grid 会自动 refresh .

此外,如果您想直接检索与特定行相关的对象,您可以使用 dataItem网格方法。

关于javascript - Kendo-UI 网格 使用 Javascript 在网格中设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13326316/

相关文章:

c# - 绑定(bind)静态 ObservableCollection 的问题

c# - 将列表数组中的值绑定(bind)到列表框

data-binding - 使用 Polymer 根据输入值过滤表格

kendo-ui - Kendo UI 网格分组与聚合 : Use aggregate value of another column in Group header?

javascript - 循环模板无法处理 ie11 中的数组

javascript - 在MVC中打开一个新的窗口表单操作方法

javascript - 是否有标准函数来检查 JavaScript 中的 null、未定义或空白变量?

javascript - Kendo UI Editor - 强制所有新链接到新窗口

javascript - Knockoutjs - 自定义绑定(bind)嵌套在模板内,attr 尚未在自定义绑定(bind)调用上绑定(bind)

javascript - 在页面上居中 visualize.js div 内容