2

JqG​​rid を使用して、自分のレコードを一覧表示、追加、削除、編集、検索します。loadonce=false を選択すると、通常、削除、編集、または追加後にレコードが更新されます。しかし、ページングと検索メカニズムは機能しません。loadonce=true を選択すると、追加または編集後ではなく、削除後にレコードが更新されます。そして、ページングと検索は loadonce=true モードで正常に実行されます。私は試しました;

$("#list").setGridParam({datatype:'json', page:1}).trigger('reloadGrid');

また

afterInsertRow: function (rowid,rowdata,rowelem){
    alert("hello"); // this wasnt invoked
}

しかし、彼らは私の問題を解決しませんでした。

私の問題の理由は何ですか。

4

2 に答える 2

11

使用する場合は、サーバー側でloadonce: falseページング、並べ替え、検索を実装する必要があります。ページングと検索が機能しない場合は、現在のサーバー コードに機能が実装されていません。

このオプションreloadAfterSubmitは、編集後にグリッドをリロードするかどうかを指定します。

を使用loadonce: trueすると、最初のロード後datatypeに変更されます。'local'問題は、jqGrid がローカル フォーム編集をサポートしていないことです。そのため、追加/編集/削除のためにサーバー部分を実装する必要があります。問題は、ケースのリロードがサーバーからではなくローカルで実行されることです。フォーム編集の終了後にサーバーからデータをリロードするには、コールバックdatatype内で初期状態 ('json' または 'xml') にリセットできafterSubmitます。次のリロード ( の場合reloadAfterSubmit: true) の場合は、必要に応じてサーバーから実行されます。

更新: afterSubmitの次のコードは、問題を解決する必要があります

afterSubmit: function () {
    $(this).jqGrid("setGridParam", {datatype: 'json'});
    return [true];
}
于 2012-06-30T10:39:02.300 に答える