【问题标题】:Kendo UI Manually set cell dirty indicatorKendo UI 手动设置单元格脏指示器
【发布时间】:2016-03-21 22:26:01
【问题描述】:

我正在手动更改 DataSource 中的一些内容并设置属性 .dirty = true,它在刷新时表现正确,但没有在我的网格中放置红色脏三角形。除了自己实际推入一个元素之外,还有什么好方法可以手动执行此操作?

var item = gridDataSource.get(id);
item.dirty = true;
item.SomeOtherlId = 5;
kendoGrid.refresh();

就像我说的,一切都正常运行,我只是没有得到红色的 dorito,如果有更好的方法,我宁愿不要用 JavaScript 干扰它。谢谢。

【问题讨论】:

  • “用 JavaScript 插入”涵盖什么?是否在此类别中添加“k-dirty-cell”类?
  • 是的,目前我正在对单元格执行此操作: .addClass('k-dirty-cell').prepend('') - 这对我来说似乎很老套?

标签: javascript kendo-ui kendo-grid kendo-datasource


【解决方案1】:

查看 kendo js 文件,似乎在更改处理程序中应用了 k-dirty-cell gubbins。但是,仅当单元格处于编辑模式时才附加处理程序(据我所知)。

您可能认为处理此问题的正确方法是将单元格置于编辑模式,然后在更改事件上调用触发器。我无法让它工作,坦率地说,这是一个巨大的 PITA 找到要传递给 editCell() 的单元格。

相反,您可以直接调用处理函数。可能有点小技巧,但这似乎与这些小部件的课程相当。

item.SomeOtherlId = 5;
grid._modelChange({ field: "SomeOtherId", model: item });

dojo example

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多