我只是想知道如何在 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/