1
$("#grid").kendoGrid({
            dataSource: {
                transport: {
                    read: function(options) {
                        $.ajax( {
                            url: "/api/mygetfunction",
                            data: options.data,
                            success: function(result) {
                                options.success(result);
                            }
                        });
                    },
                    update: function (options) {
                        $.ajax({
                            url: "/api/myupdatefunction",
                            data: options.data,
                            success: function (result) {
                                options.success(result);
                            }
                        });
                    },
                    destroy: function (options) {
                        $.ajax({
                            url: "/api/mydestroyfunction",
                            data: options.data, 
                            success: function (result) {
                                options.success(result);
                            }
                        });
                    },
                    create: function (options) {
                        $.ajax({
                            url: "/api/mycreatefunction",
                            type: 'POST',
                            data: ...
                        });
                    },
                    parameterMap: function (options, operation) {
                        if (operation !== "read") {
                            return JSON.stringify(options);
                        }
                    }
                },
                schema: {
                    id: "Id",
                    model: {
                        fields: {
                            Id: { type: "string" },
                            Description: { type: "string" }
                        }
                    }
                },
                pageSize: 10,
                serverPaging: false,
                serverFiltering: false,
                serverSorting: false,
                batch: false
            },
            toolbar: ["create"],
            filterable: true,
            sortable: true,
            pageable: true,
            columns: [
                 {
                    field: "Description",
                    title: "Description"
                 },
                 { command: ["edit", "destroy"], title: " ", width: "210px" }
            ],
            editable: "inline"
        });

グリッドには3つの行があります。[編集]をクリックすると、説明列が変更されます。次に、[更新]をクリックすると、グリッドがトランスポート構成の「作成」を実行します。バッチをfalseに設定しましたが、奇妙なことに、変更された行の代わりに3つの作成があります。

グリッドを編集すると、更新ではなく作成が発生する理由は何ですか?

4

1 に答える 1

3

Idこれは、レコードにフィールドが適切に設定されていない場合に発生する可能性があります。データソースは、IDを持たないすべてのレコードを「新規」と見なします。

于 2012-12-20T08:11:16.077 に答える