'Add change event to all cells in specified column of Kendo Grid
I want to add a change event to all cells in a specified column using Kendo UI. Something like:
this.myGridVariable.table.on("change", "--InsertMyColumnNameHere--", (e) => { this.doStuff(e) });
I thought this worked:
this.myGridVariable.table.on("change", "[name=ColumnName]", (e) => { this.doStuff(e) });
but it doesn't, at least not with the latest update.
Solution 1:[1]
You need to specify what change event you mean:
- The HTMLElement change event in JavaScript, which is fired for
<input>
,<select>
, and<textarea>
, but not a table cell, see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event - The Kendo Model or DataSource change event documented here: https://docs.telerik.com/kendo-ui/api/javascript/data/datasource/events/change
I believe you'll want the second one. You can't bind it to a single field, but it has e.field
and you can execute code depending on its value.
Solution 2:[2]
add .Events(e => { e.Change("onEdit"); })
under .DataSource(dataSource => dataSource
onEdit
is a javascript function. In this function add this code -->
function onEdit(e) { if (e.action == "itemchange") { doStuff } }
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | GaloisGirl |
Solution 2 | mahmood kabi |