1

ばかげた質問だと思いますが、解決策が見つかりません。jqGrid でテーブルを作成し、インライン編集を有効にしました 各行に、編集を有効または無効にするボタンを追加しました 編集中にのみアクティブになる 2 つ目のボタンを追加して、アクティブなインライン編集行。setRowData の編集中にデータ行にアクセスして変更する方法がわかりません行が選択されているがインライン編集モードでない場合はうまく機能します。

更新(悪いと思う)解決策を見つけましたが、私の問題を説明しています:

 if (edit_enabled) {
     // save current data
     jQuery('#SEQtbl').jqGrid('saveRow',row_edit, false, 'clientArray');

     // read back row data
     var row = jQuery("#SEQtbl").jqGrid('getRowData',row_edit);

     // change something  
     ....
     .....

     // save data
     jQuery("#SEQtbl").jqGrid('setRowData',row_edit, row);

     // reneter row edit mode
     jQuery('#SEQtbl').jqGrid('editRow', row_edit,true);
   }

`

4

1 に答える 1

0

投稿したコードで既に回答を得ていると思います。

setRowData のjqGrid ドキュメントによると、「行またはセルを編集するときは、このメソッドを使用しないでください。これにより、コンテンツが設定され、入力要素が上書きされます」。基本的に、編集モードの行で setRowData または getRowData を呼び出すと、データではなく行の HTML を取得/設定します。

あなたの要件が何であるかはわかりませんが、編集ボタンの有効化/無効化と同時に「デフォルト値の設定」ボタンをアクティブにする方が、UI ソリューションとして優れている可能性があります。ユーザーは「デフォルトの設定」をクリックすると、デフォルトが設定され、編集モードに入ります。

そもそもなぜこの「デフォルト設定」ボタンがあるのか​​よくわかりません。新しい行が追加されたときにデフォルトをロードするべきではありませんか? それとも、ユーザーが既にデータが含まれている行をデフォルト値にリセットしたい場合がありますか?

于 2011-09-25T14:31:50.553 に答える