встроенный поиск jqgrid - PullRequest
       27

встроенный поиск jqgrid

0 голосов
/ 26 февраля 2012

У меня есть 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');
}

Ответы [ 2 ]

0 голосов
/ 26 февраля 2012

Благодаря совету Олега я смог решить эту проблему. Вот мой код, если кто-нибудь сталкивается с подобной проблемой. Я удалил свою функцию обновления, так как она мне больше не нужна.

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');
   }
});
0 голосов
/ 26 февраля 2012

Если я вас правильно понял, вы имеете в виду «встроенное редактирование» вместо «встроенный поиск».Поскольку вы не можете использовать клавишу Enter , вы должны включить в панель инструментов Navigator дополнительную кнопку, которая вызывает saveRow метод.Вы можете добавить соответствующую строку вручную в отношении navButtonAdd или использовать метод inlineNav .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...