2011-03-11 80 views
0

我已经使用下面的代码实现了一个jqgrid。网格工作正常,但是当我拖动并更改列顺序(重新排序)时,最后一列下面的文本框在每个重排序中消失。jqgrid 3.8.2 filterToolbar - 当cols重新排序时文本框消失

<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     jQuery("#list").jqGrid({ 
      url: '@Url.Content("/Contacts/DynamicGridData/")', 
      datatype: 'json', 
      mtype: 'GET', 
      colNames: ['Last Name', 'First Name', 'Country', 'Category'], 
      colModel: [ 
       { name: 'LastName', index: 'LastName', align: 'left' }, 
       { name: 'FirstName', index: 'FirstName', align: 'left' }, 
       { name: 'CountryId', index: 'CountryId', align: 'left' }, 
       { name: 'CategoryId', index: 'CategoryId', align: 'left'}], 
      pager: jQuery('#pager'), 
      rowNum: 10, 
      rowList: [5, 10, 20, 50], 
      sortname: 'LastName', 
      sortorder: "asc", 
      viewrecords: true, 
      sortable: true, 
      loadonce: true, 
      ignoreCase: true, 
      gridview: true, 
      autowidth: true, 
      rownumbers: true, 
      imgpath: '@Url.Content("~/Content/themes/jqgrid/smoothness/images")' 
     }); 
     jQuery("#list").jqGrid('navGrid', '#pager', { add: false, edit: false, del: false }, {}, {}, {}, { multipleSearch: true }); 
     jQuery("#list").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false }); 
     jQuery("#list").jqGrid('navButtonAdd', "#pager", { caption: "", title: "Toggle Search Bar", buttonicon: 'ui-icon-pin-s', onClickButton: function() { $("#list")[0].toggleToolbar() } }); 
    }); 
</script> 

<table id="list" class="scroll"></table> 
<div id="pager" class="scroll" style="text-align:center;"></div> 

这怎么解决?

回答

0

我无法重现您的问题。请参阅我的测试here。你使用哪个版本的jQuery UI和jQuery?

小备注:参数imgpathdeprecated,因为许多jqGrid版本,你应该删除它。以同样的方式,class =“scroll”也不会被使用。所以你可以减少HTML到

<table id="list"></table> 
<div id="pager"></div> 
+0

奥列格,感谢您的帮助。我检查了您的测试解决方案,尝试对列进行重新排序(通过拖动列标题)并查看filterToolbar上最后一个文本框发生了什么。 – 2011-03-11 11:24:47

+0

@Rahul Vyas:我没有问题。您使用哪个网页浏览器? – Oleg 2011-03-11 11:27:49

+0

@Oleg:Chrome 9 – 2011-03-11 12:12:26