インライン編集用に剣道グリッドを備えた剣道データソースを使用しています。新しい行を追加/作成すると、新しい行が作成 URL に投稿されます (投稿を使用しています)。私の問題はクエリ パラメータにあります。id フィールドの値はゼロです。作成 URL に投稿する前に、一部の js イベントで空にするか、クエリ文字列から削除する方法はありますか。
ありがとう。
インライン編集用に剣道グリッドを備えた剣道データソースを使用しています。新しい行を追加/作成すると、新しい行が作成 URL に投稿されます (投稿を使用しています)。私の問題はクエリ パラメータにあります。id フィールドの値はゼロです。作成 URL に投稿する前に、一部の js イベントで空にするか、クエリ文字列から削除する方法はありますか。
ありがとう。
ID は自動インクリメント フィールドである必要があるように思えます。その場合、ID をデータベースに挿入しません。次に、データソースには、作成後にグリッドを更新するための次のようなもの (文書化されていない方法) が必要です。これにより、ID フィールドにデータベースが割り当てた ID が入力されます。
create: {
url: "[your create url]",
complete: function(e){
$('#grid').data('kendoGrid').dataSource.read();
}
}
それはあなたの問題を解決するはずです。
いいえ、最新の 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!");
}
});
},
あなたにとって重要なのは、成功方法で何をするかです。ハッピーコーディング!