0

私の剣道グリッドには、「editable=true」と「autoSync=true」のデータソースがあります。セルをクリックすると編集可能になり、セルを離れるとトランスポートの更新イベントが実行されます。

それは大丈夫です。

更新イベントでは、変更された行のすべての値を含むデータセット モデルの行にアクセスできます (ただし、editable=true と autosync を使用すると、1 つの列の値のみが変更されます)。

どの列/フィールドが変更されたかを知る必要がありますか?

理想的には、更新イベントに提供される引数 (オプション) に情報が含まれていると考えていました。

dataSource = new kendo.data.DataSource({
        autoSync: true,
        transport: {
           update: function (options) {
             // options does not tell me which model field was updated?
             ...

しかし、そこにないので、モデルの set イベントにバインドする必要があると思いますが、それを機能させることができません。

何か案は?

4

1 に答える 1

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,
});
于 2014-02-26T12:43:08.113 に答える