0

私の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の値を取得することです。

4

1 に答える 1

1

なぜとの両方を使用するのkey: true です jsonReader : { id: "e_info_id",...}か?それがあなたの主な問題だと思います。取り外しid: "e_info_id"て使用することをお勧めしますkey: true

'e_info_id'また、コラムの意味がわかりませんでした。(の)id行に正しい属性をjqGridに入力すると、IDは(から 削除した場合)という名前でサーバーに送信されます。ユーザーの列を表示しますか?ユーザーに「編集」フォームの情報を表示させますか?すべてのオプションが可能ですが、それは依存しませんid<tr>'id'id: "e_info_id"jsonReader

于 2012-03-29T20:21:00.987 に答える