jqGrid の最初の実装に取り組んでいます。 navGridに表示される標準の追加/編集ボタンを使用していますが、編集/追加フォームで[送信]をクリックしたときにサーバーの応答を処理する方法を特定するのに問題があります。
.navGrid("#product-codes-footer",{edit:true,add:true,del:false},
{afterShowForm:afterShowEdit}, {afterShowForm:afterShowAdd} );
これに関してどこかに欠けている標準のコールバックまたはイベントパラメータはありますか? saveRow
の呼び出し方法を定義する方法はありますか、それとも実装できるデフォルトの成功/エラーコールバックメソッドはありますか?
どんな方向でも大歓迎です!!!
完全に読んで理解できなかったイベントパラメータがいくつかあるようです...
API-> http://www.trirand.com/jqgridwiki/doku.php?id=wiki:form_editing#editgridrow
afterSubmitとafterCompleteのイベントパラメーターを使用すると、サーバーの応答を処理してフォームを更新できます。
-ダン
編集 使用したコードの例を次に示します...
.navGrid(
"#product-codes-footer",
{edit:true,add:true,del:false},
{
afterShowForm:afterShowEdit,
afterSubmit:processAddEdit,
beforeSubmit:validateData,
closeAfterAdd: true,
closeAfterEdit: true
},
{
afterShowForm:afterShowAdd,
afterSubmit:processAddEdit,
beforeSubmit:validateData,
closeAfterAdd: true,
closeAfterEdit: true
}
);
function afterShowEdit(formId) {
//do stuff after the form is rendered
}
function afterShowAdd(formId) {
//do stuff after the form is rendered
}
function processAddEdit(response, postdata) {
var success = true;
var message = ""
var json = eval('(' + response.responseText + ')');
if(json.errors) {
success = false;
for(i=0; i < json.errors.length; i++) {
message += json.errors[i] + '<br/>';
}
}
var new_id = "1";
return [success,message,new_id];
}
これを行うために私が見たいくつかの方法があります:
jQuery( "#search_results")。jqGrid({ url:Host、 datatype: "xml"、 mtype: "GET"、//便利渡されたパラメータを確認します。 高さ:200、 幅:500、 ... ... etc gridComplete:function(){ var ids = jQuery( "#search_results")。getDataIDs(); if(ids.length Empty Result '); } else { $( '#jqgrid_error')。hide(); } }、 loadError:function(xhr、st、err) { jQuery( "#jqgrid_error")。html( "Type:" + st + "; Response:" + xhr.status + "" + xhr.statusText + ''); } })。navGrid( '#search_results_pager'、 {edit:true、add:false、del:false、search:true}、 { afterComplete:processed、//処理されるのは、定義した関数です closeAfterEdit:true、 reloadAfterSubmit:true } );
ドキュメントから:
afterCompleteこのイベントは、すべてのアクションとイベントが完了し、行がグリッドに挿入または更新された直後に発生します。afterComplete(serverResponse、postdata、formid)ここで
gridCompleteこれは、すべてのデータがグリッドに読み込まれ、他のすべてのプロセスが完了した後に発生します。
loadError xhr、st、err リクエストが失敗した場合に呼び出される関数。この関数は、XMLHttpRequestオブジェクト(XHR)、発生したエラーのタイプ(st)を説明する文字列、およびオプションの例外オブジェクト(err)(発生した場合)の3つの引数を渡します。
便利で役立つPDFドキュメント(少し古い): http://www.scribd.com/doc/17094846/jqGrid 。
あなたはこれを試すことができます:
navGrid('#gridpager',{view:true},{},{closeOnEscape:true},{afterSubmit:processAddEdit});
$.jgrid.search={
odata : ['equal', 'not equal', 'less', 'less or equal','greater','greater or equal', 'begins with','does not begin with','is in','is not in','ends with','does not end with','like','does not contain'],
sopt:['eq','ne','cn','bw','ew']
}