私のjqgridには、IDを表すフィールドがテーブルにあり、次のように設定しています。
{name:'e_info_id',index:'e_info_id', width:60, sorttype:"int",key: true}
そしてjsonリーダーのために私はそれを次のように設定しました
jsonReader : { repeatitems: false ,id: "e_info_id",root:"rows"}
[追加/編集]アイコンをクリックすると、[編集]ダイアログが開きます。e_info_idを設定していないため、editable:true
そのIDフィールドはフォームダイアログボックスに表示されませんが、[送信]をクリックすると、次のことができなくなります。次の関数でそのIDにアクセスします
onclickSubmit: function (options, postdata) {
postdata.e_info_id // is undefined
}
しかし、e_info_idをeditable = trueとして定義するとすぐに、postdata.e_info_idに値が設定されます。今、私はこれをかなり奇妙に見ています、そして私はこれを取り除く方法を知りません
{name:'e_info_id',index:'e_info_id', width:60, sorttype:"int",key: true,editable:true}
さらに、ユーザーが誤ってe_info_idを更新しないようにするために、次のように非表示にして、editable:trueを維持してe_info_idの値を取得しようとしました$.jgrid.edit
。
beforeShowForm: function(form) { $('#tr_e_info_id', form).hide(); }
しかし、これに関する問題は、ShowFormが起動しない前にテーブルの行をダブルクリックすると、e_info_idフィールドが表示されることです。
ondblClickRow: function(rowid) {
$(this).jqGrid('editGridRow',rowid);
}
現在、回避策がないため、基本的に私の問題は、追加/編集ダイアログボックスにe_info_idフィールドを表示せず、onclickSubmitでe_info_idの値を取得することです。