jqgrid内联搜索



我有一个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');
}

如果我理解你的意思是"内联编辑"而不是"内联搜索"。因为您不能使用Enter键,所以您必须在导航器工具栏中包含一些调用saveRow方法的附加按钮。您可以根据navButtonAdd手动添加相应的行,也可以使用inlineNav方法。

多亏了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');
   }
});

相关内容

  • 没有找到相关文章

最新更新