【问题标题】:KendoGrid Get modified column idKendoGrid 获取修改后的列id
【发布时间】:2013-05-31 03:18:00
【问题描述】:

在我的剑道网格上,我有“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 事件,但我无法让它工作。

有什么想法吗?

【问题讨论】:

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


    【解决方案1】:

    别介意这个答案!我把问题读错了。

    我想我已经按照你喜欢的方式工作了。

    这是您要查找的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,
    });
    

    【讨论】:

      猜你喜欢
      • 2021-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-04
      • 2012-07-30
      • 1970-01-01
      相关资源
      最近更新 更多