我有剑道儿童网格。它有一些排。每行都有一些细胞。如果我改变第一行以外的单元格的值,我必须得到相应的第一行单元格值。这意味着如果我更改子网格中的第二行第二列值,我必须得到该网格中的第一行第二列值。
我已经在子网格中编写了每个单元格的更改事件。在更改任何单元格值时,此事件将触发。在这种情况下,我想实现上述功能。屏幕截图已附上。
更改细胞的代码是
$('<input maxlength="9" data-bind="value:' + options.field + '"/>')
.appendTo(container)
.kendoNumericTextBox({
format: "0.####",
decimals: 0,
min: 0,
spinners: false,
change: function (e) {
//Here i want to get the first row of this cell value
}
}).off("keydown");
答案 0 :(得分:0)
你有两种方法可以做到这一点。您可以从单元格文本或我喜欢的dataItem中获取值。
在editor
函数中试试这个:
function(container, options) {
var $container = $(container),
tdIndex = $container.index(),
$correspondingCell = $container.closest("tbody").find("tr:first td:eq(" + tdIndex + ")"),
dataItem = grid.dataItem($correspondingCell.parent()),
correspondingColumnName = options.field;
// Get from cell's text
console.log("From Cell", $correspondingCell.text());
// Get from dataItem
console.log("From DataItem", dataItem[correspondingColumnName]);
$('<input maxlength="9" data-bind="value:' + options.field + '"/>')
.appendTo($container)
.kendoNumericTextBox({
format: "0.####",
decimals: 0,
min: 0,
spinners: false,
change: function (e) {
// Now this is the corresponding cell's value from first row
console.log("First row's corresponding cell value", this);
}.bind(dataItem[correspondingColumnName]) // <- bind the dataItem's property to the change event
}).off("keydown");
}