Вопросы и проблемы с JqGrid - PullRequest
1 голос
/ 15 марта 2012

Я уверен, что мои вопросы были где-то адресованы, но я уже некоторое время изучаю и не могу найти ответы, которые ищу.

  • При использовании функции inlineNav есть опция «удалить»?Я не нашел ни одного, поэтому, чтобы использовать его, я должен создать сетку, используя функции navGrid и inlineNav, например:
  $("#attributeEditList").jqGrid( { 
            datatype: "local",
            height: 150,
            colNames: ['rowid', 'Vendor', 'Category', 'Key', 'Value', 'Flags', 'Status'], 
            colModel: [
                        {name: 'rowid', index: 'rowid', hidden: true, key: true},
                        {name: 'vendorCode', index: 'vendorCode', hidden: true},
                        {name: 'category', index: 'category', width: 120, editable: true, editrules:{required: true} }, 
                        {name: 'key', index: 'key', width: 120, editable: true, editrules:{required: true} }, 
                        {name: 'value', index: 'value', width: 200, editable: true, editrules:{required: true} }, 
                        {name: 'flags', index: 'flags', width: 80, editable: true, editrules:{required: true, integer: true} }, 
                        {name: 'status', index: 'status', hidden: true }
                      ], 
            sortname: "category", 
            viewrecords: true,
            caption: "Attributes",
            rowNum: 20000,
            pager: '#attributeEditPager',
            editurl: "vendor/ajax/dummy.do",
            data: vendor.attributes,
            jsonReader : { repeatitems: false }
          });
          $("#attributeEditList").jqGrid( "navGrid", '#attributeEditPager', {
              edit: false, 
              add: false, 
              del: true,
              search: false,
              refresh: false,
              delfunc: deleteAttribute
            }
          );  
          $("#attributeEditList").jqGrid( "inlineNav", '#attributeEditPager' );  
  • Есть ли способ сделать правки в сетке строго на стороне клиента?Я хочу, чтобы мой пользователь мог вносить несколько изменений (добавлять / редактировать / удалять), а затем публиковать все изменения в сетке, а также некоторые другие изменения формы вне сетки, обратно на сервер атомарно.Насколько я могу судить, параметр editurl является обязательным и фактически должен быть действительным URL-адресом для редактирования.
  • Последнее, и я думаю, что это самая большая проблема, с которой я сталкиваюсь,при использовании функции inlineNav.Сначала я нажимаю кнопку «Добавить (+)», чтобы добавить строку, добавить данные, затем нажимаю кнопку «Сохранить».Затем, если я снова нажму кнопку «Добавить», будет добавлена ​​новая строка, но кнопки «Добавить» и «Изменить» останутся активными, а кнопки «Сохранить» и «Отмена» по-прежнему отключены.

Если у вас есть какие-либо советы по этим вопросам, пожалуйста, дайте мне знать.

1 Ответ

1 голос
/ 15 марта 2012

Посмотрите демо из старого ответа , где я демонстрирую, как можно реализовать локальное редактирование форм в jqGrid. Ваш первый вопрос был о "Удалить", добавленном navGrid. Таким образом, вы можете использовать трюк с настройкой processing: true, который я предложил, чтобы кнопка «Удалить» работала локально. Вам следует дополнительно использовать editurl: 'clientArray'. Я отправил свое предложение в trirand около года назад (см. здесь ), но локальное редактирование форм все еще не является частью jqGrid.

Вы правы, что существует множество ситуаций, в которых inlineNav работает с ошибками, и если пользователь нажимает на кнопки в немного другом порядке, неправильно активируются или неправильно отключаются кнопки. Вы должны активировать / деактивировать кнопки вручную, используя $("#attributeEditList_ilsave").removeClass('ui-state-disabled'); или $("#attributeEditList_ilsave").addClass('ui-state-disabled');. Идентификаторы кнопок будут созданы из gridid ​​и постфикса "_iladd", "_iledit", "_ilsave", "_ilcancel". Я рекомендую включать такой код в onSelectRow или beforeSelectRow, пока ошибки не будут исправлены в основном коде jqGrid.

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