0

インライン編集用に剣道グリッドを備えた剣道データソースを使用しています。新しい行を追加/作成すると、新しい行が作成 URL に投稿されます (投稿を使用しています)。私の問題はクエリ パラメータにあります。id フィールドの値はゼロです。作成 URL に投稿する前に、一部の js イベントで空にするか、クエリ文字列から削除する方法はありますか。

ありがとう。

4

2 に答える 2

1

ID は自動インクリメント フィールドである必要があるように思えます。その場合、ID をデータベースに挿入しません。次に、データソースには、作成後にグリッドを更新するための次のようなもの (文書化されていない方法) が必要です。これにより、ID フィールドにデータベースが割り当てた ID が入力されます。

create: {
    url: "[your create url]",
    complete: function(e){
        $('#grid').data('kendoGrid').dataSource.read();
    }
}

それはあなたの問題を解決するはずです。

于 2012-05-30T15:20:34.193 に答える
0

いいえ、最新の KendoUI のデータソーストランスポート メソッドには、'complete' というパラメーターがありません。jquery ajax リクエストを使用する必要があります。また、KendoUI のトランスポート メソッドまたは jquery ajax のいずれかのみを使用できます。組み合わせはうまくいきません。例えば:

create:function (options) {
    $.ajax({
        url:base + entityName + "/create",
        data:"models=" + kendo.stringify(options.data.models),
        type:"POST",
        dataType:"json",
        async:false,
        global:false,
        success:function (result) {
            if (result.errors == null) {
                //GridHandlers.refreshGrid(gridId);
                options.success(result);
            } else {
                GridHandlers.accounceAndResume(gridId, result.errors);
            }
        },
        error:function (xhr, textStatus, errorThrown) {
            console.log("Error: " + (errorThrown ? errorThrown : xhr.status));
            GridHandlers.accounceAndResume(gridId, "Could not create new record. Connection problem!");
        }
    });
},

あなたにとって重要なのは、成功方法で何をするかです。ハッピーコーディング!

于 2012-11-01T03:08:36.380 に答える