在我的Kendo网格上,我有“editable = true”和数据源“autoSync = true”。当我点击一个单元格时,它变得可编辑,当离开单元格时,它会执行传输的更新事件。
一切都很好。
在更新事件中,我可以访问包含修改行的所有值的数据集模型行(尽管使用editable = true和autosync,只会修改一个列值。)
我需要知道修改了哪个列/字段?
理想情况下,我认为信息将出现在提供给更新事件的参数(选项)中。
dataSource = new kendo.data.DataSource({
autoSync: true,
transport: {
update: function (options) {
// options does not tell me which model field was updated?
...
但是因为它不在那里,我想我需要绑定到模型的set事件,但是我不能让它工作。
有什么想法吗?
答案 0 :(得分:0)
别介意这个答案!我读错了这个问题。
我想我按照你喜欢的方式工作。
这是jsFiddle你在找什么?
var ds = new kendo.data.DataSource({
autoSync: true,
transport: {
read: function(options) {
options.success([
{ Id: 1, A: 'Hello', B: 'World' },
{ Id: 2, A: '1', B: '2' },
{ Id: 3, A: 'fdasf', B: '4523' }
]);
},
update: function (options) {
var uid = ds.data().find(function(p) {return p.Id == options.data.Id;}).uid;
var tr = $('#grid .k-grid-content tr[data-uid="'+uid+'"]');
console.log(tr);
//Do something with tr
}
},
schema: {
model: { id: "Id" }
}
});
$('#grid').kendoGrid({
dataSource: ds,
editable: true,
});