KendoGrid获取修改后的列ID

时间:2013-05-31 03:18:00

标签: kendo-ui kendo-grid inline-editing

在我的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事件,但是我不能让它工作。

有什么想法吗?

1 个答案:

答案 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,
});