grid - Kendo UI 网格 : does grouping cause the dataSource change event to fire, 的设计?

标签 grid datasource kendo-ui onchange

当我通过将列标题拖动到分组面板进行分组时,数据源的更改事件会触发。这是设计使然吗?

编辑:当网格按列排序时也会发生此事件。

我的问题的部分依据是“更改”一词含糊不清。我已经阅读了很长时间的文档,有时作者希望这个词的意思是“进行修改”,有时他们希望它的意思是“被替换”。一些 Windows 控制软件公司通过使用单独的词“修改”和“更改”来区分这两种情况,并相应地命名它们的事件。因此并不总是很清楚意图是什么。

“换内裤”。那里的意思是“穿上一条新的短裤”,而不是“在你穿的那条短裤上缝一个纽扣。”

如果 kendo dataSource.change 事件在分组和排序发生时被设计触发,如何区分这两个“非必要”变化(数据没有被修改,它们只是顺序不同)和网格的底层数据集被整个替换的场景?有没有办法“监听” dataSource.dataCompletelyReplaced 场景?比较许多 WinForms 网格上的 DataSourceChanged 事件,该事件不会在数据集中的项目发生更改时触发,而是在数据集被替换并且网格重新启动时触发。

“经历变化”和“被取代”是截然不同的情况。

在 Kendo 网格中,一个示例可能是网格在配置中使用空数组 dataSource.data = [] 初始化,然后可能但不一定在某些用户交互之后,使用 dataSource.data(someNewData) 将空数组替换为实际数据集。

最佳答案

是的,数据源的更改事件应该在数据分组(或排序、过滤等)时触发。摸索是一种数据操作,它会更改数据源的 View - 数据项的当前状态。

没有单独的内置事件会在“dataCompletelyReplaced”操作后触发。如果您正在编辑(或插入)特定记录,您可以使用事件数据的“action”参数。

$("#grid").data("kendoGrid")
    .dataSource.bind("change", function(e) { 
        e.action 
    });

关于grid - Kendo UI 网格 : does grouping cause the dataSource change event to fire, 的设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13920670/

相关文章:

angularjs - 如何将选定的ID从kendo组合框传递到 Angular 函数

javascript - Kendo DateRangePicker 中的动态名称

wpf - 字符串无法转换为长度

javascript - jQuery 图像网格系统

php - CakePHP 2.x - 动态切换数据库(针对整个应用程序)

mysql - 如何让MySQL在grails 2.0上运行

javascript - 如何处理 Kendo UI Grid 行双击事件

header - 如何修复 Extjs 4.2 中的表头

html - 表单字段溢出 Bootstrap 表单

java - 如何在Spring Boot ireport中从applicaiton.properties获取MySQL连接