0

インライン編集を実行しているjqgridがあります。テキストの代わりにテキストエリアを使用しています。セルの編集が完了したら、データを送信するにはどうすればよいですか。「Enter」はテキストでは機能しますが、新しい行を作成するため、テキストエリアでは明らかに機能しません。

これは私のコードのスニペットです

grid4 = $('#CaseNotes').jqGrid({
   ...
   { name: 'Note', index: 'Note', width: 650, align: 'left', sortable: false, 
      editable: true, edittype: 'textarea', editoptions: { rows: '5', cols: '100' }
   },
   ...
   onSelectRow: function (id) {
      if (id && id != lastsel) {
         grid4.restoreRow(lastsel);
         lastsel = id;
      }
      grid4.jqGrid('editRow', id, true, '', '', '', '', reload);
   },
   editurl: '@Url.Action("EditCaseNote", "CaseNote")',
   ...
});

//function to reload the grid
function reload(id, result) {
   grid4.setGridParam(
      {
         url: '@Url.Action("DisplayCaseNotesGrid", "CaseInfo")',
         datatype: 'json'
      }
   ).trigger('reloadGrid');
}
4

2 に答える 2

0

Oleg のアドバイスのおかげで、これを解決できました。誰かが同様の問題に遭遇した場合に備えて、これが私のコードです。不要になったので、更新機能を削除しました。

grid4 = $('#CaseNotes').jqGrid({
...
{ name: 'Note', index: 'Note', width: 650, align: 'left', sortable: false, 
  editable: true, edittype: 'textarea', editoptions: { rows: '5', cols: '100' }
},
...
onSelectRow: function (id) {
   if (id && id != lastsel) {
      grid4.restoreRow(lastsel);
      lastsel = id;
   }
   grid4.jqGrid('editRow', id, { keys: true, afterrestorefunc: reload });
},
...
});
//Adds the button to the pager
grid4.jqGrid('navButtonAdd', '#casenotes_pager', {
   caption: 'Save Case Note',
   buttonicon: 'none',
   onClickButton: function () {
      //calls the saveRow function
      grid4.jqGrid('saveRow', lastsel,
      {
         url: '@Url.Action("EditCaseNote", "CaseNote")'
      }
      );
      //refreshes the grid
      grid4.setGridParam(
      {
         url: '@Url.Action("DisplayCaseNotesGrid", "CaseInfo")',
         datatype: 'json'
      }
      ).trigger('reloadGrid');
   }
});
于 2012-02-26T09:49:39.220 に答える
0

「インライン検索」ではなく「インライン編集」を意味していると私が理解している場合は、正しいと思います。Enterキーを使用できないため、ナビゲータ ツールバーにsaveRowメソッドを呼び出すボタンを追加する必要があります。navButtonAddに関して対応する行を手動で追加するか、inlineNavメソッドを使用することができます。

于 2012-02-25T20:58:44.723 に答える