关于JqGrid的问题和问题

时间:2012-03-15 16:33:52

标签: javascript jquery jquery-ui jqgrid

我确定我的问题已在某处得到解决,但我已经研究了一段时间,似乎无法找到我正在寻找的答案。

  • 使用inlineNav功能时,是否有“删除”选项?我没有找到任何内容,所以为了使用它,我必须使用navGridinlineNav功能创建网格,如下所示:
  $("#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参数是必需的,并且必须实际上是一个有效的网址,以便进行编辑工作。
  • 最后,我认为这是我遇到的最大问题,就是在使用inlineNav功能时。首先,我单击“添加(+)”按钮添加一行,添加数据,然后单击“保存”按钮。然后,如果我再次单击“添加”按钮,则会添加一个新行,但“添加”和“编辑”按钮仍处于活动状态,而“保存”和“取消”按钮仍处于禁用状态。

如果您对这些问题有任何建议,请告诉我。

1 个答案:

答案 0 :(得分:1)

the demo查看the old answer,我将演示如何在jqGrid中实现本地表单编辑。您首先提出的问题是navGrid添加的“删除”。因此,您可以使用设置processing: true的技巧,我建议将“删除”按钮设置为本地。您还应该使用editurl: 'clientArray'。大约一年前我将我的建议发布到trirand(参见here),但是本地表单编辑仍然不是jqGrid的一部分。

你是对的,有很多情况inlineNav工作有问题,如果用户点击其他顺序的按钮,则有错误的激活或错误的停用按钮。您必须使用$("#attributeEditList_ilsave").removeClass('ui-state-disabled');$("#attributeEditList_ilsave").addClass('ui-state-disabled');手动激活/停用按钮。按钮的ID将由gridid和后缀“_iladd”,“_iledit”,“_ilsave”,“_ilcancel”构成。我建议您在onSelectRowbeforeSelectRow中包含此类代码,直到jqGrid主代码中的错误无法修复。