向 Kendo 网格的指定列中的所有单元格添加更改事件
Add change event to all cells in specified column of Kendo Grid
我想使用 Kendo UI 向指定列中的所有单元格添加更改事件。类似于:
this.myGridVariable.table.on("change", "--InsertMyColumnNameHere--", (e) => { this.doStuff(e) });
我认为这有效:
this.myGridVariable.table.on("change", "[name=ColumnName]", (e) => { this.doStuff(e) });
但它并没有,至少最新的更新没有。
您需要指定您所指的更改事件:
- JavaScript 中的 HTMLElement 更改事件,它针对
<input>
、<select>
和 <textarea>
而不是 table 单元格触发,请参阅https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event
- 此处记录的 Kendo 模型或数据源更改事件:https://docs.telerik.com/kendo-ui/api/javascript/data/datasource/events/change
我相信你会想要第二个。您不能将它绑定到单个字段,但它具有 e.field
并且您可以根据其值执行代码。
在 .DataSource(dataSource => dataSource
下添加 .Events(e => { e.Change("onEdit"); })
onEdit
是一个 javascript 函数。在此函数中添加此代码 -->
function onEdit(e) { if (e.action == "itemchange") { doStuff } }
我想使用 Kendo UI 向指定列中的所有单元格添加更改事件。类似于:
this.myGridVariable.table.on("change", "--InsertMyColumnNameHere--", (e) => { this.doStuff(e) });
我认为这有效:
this.myGridVariable.table.on("change", "[name=ColumnName]", (e) => { this.doStuff(e) });
但它并没有,至少最新的更新没有。
您需要指定您所指的更改事件:
- JavaScript 中的 HTMLElement 更改事件,它针对
<input>
、<select>
和<textarea>
而不是 table 单元格触发,请参阅https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event - 此处记录的 Kendo 模型或数据源更改事件:https://docs.telerik.com/kendo-ui/api/javascript/data/datasource/events/change
我相信你会想要第二个。您不能将它绑定到单个字段,但它具有 e.field
并且您可以根据其值执行代码。
在 .DataSource(dataSource => dataSource
.Events(e => { e.Change("onEdit"); })
onEdit
是一个 javascript 函数。在此函数中添加此代码 -->
function onEdit(e) { if (e.action == "itemchange") { doStuff } }