2011-07-07 46 views
2

我试图隐藏排序:真,宽度:0,显示:假的,但我仍然看到在网格中的列。比我试图jqGrid的隐藏列,并在分组

myGrid.jqGrid( 'hideCol',[ “类型”]);

问题1:

这是工作和列是隐藏的,但一旦我表现出崩溃行超过此列再次可见。

问题2:

我有groupCollapse:真。当我崩溃并进行排序比所有行再次崩溃。

问题:

折叠/展开隐藏的列应不可见。

当排序行崩溃。

var myGrid = $('#list'); 
myGrid.jqGrid({ 
    url: '/Admin/DynamicGridData/', 
    datatype: 'json', 
    mtype: 'POST', 
    colNames: ['Id', 'Date', 'First Name', 'Last Name', 'Email Address', 'Hidden'], 
    colModel: [ 

        { name: 'Id', index: 'Id', width: 40, align: "center", editable: false, editoptions: { readonly: true }, key: true, sorttype: "int", searchoptions: { sopt: ['eq', 'ne', 'lt', 'le', 'gt', 'ge']} }, 
        { name: 'DateEdited', index: 'DateEdited', width: 90, sorttype: "date", formatter: "date" }, 
        { name: 'FirstName', index: 'FirstName', width: 120, searchoptions: { sopt: ['eq', 'ne', 'lt', 'le', 'gt', 'ge']} }, 
        { name: 'LastName', index: 'LastName', width: 120, searchoptions: { sopt: ['eq', 'ne', 'lt', 'le', 'gt', 'ge']} }, 
        { name: 'Email', index: 'Email', width: 300, searchoptions: { sopt: ['cn', 'nc', 'bw', 'bn', 'eq', 'ne', 'ew', 'en', 'lt', 'le', 'gt', 'ge']} }, 
        { name: 'Type', index: 'Type', hidden: true, width: 0, display: false, search: false } 

       ], 

    height: 'auto', 
    autowidth: true, 
    rownumbers: true, 

    rowNum: 30, 
    rowList: [10, 20, 30], 
    pager: '#pager', 
    sortname: 'Id', 
    viewrecords: true, 
    sortorder: "asc", 
    multiselect: true, 
    altRows: true, 
    altclass: 'myAltRowClass', 
    caption: "Master Grid", 
    jsonReader: { cell: "" }, 

    grouping: true, 
    groupingView: { groupField: ['Type'], 
     groupColumnShow: [true], 
     groupText: ['<b>{0} - {1} Record(s)</b>'], 
     groupCollapse: false, 
     groupOrder: ['desc'] 
    } 
}); 
myGrid.jqGrid('navGrid', '#pager', { add: false, edit: false, del: true }, {}, {}, 

    { }, 

    { multipleSearch: true, overlay: false }); 

myGrid.jqGrid('filterToolbar', { stringResult: true, searchOnEnter: true, defaultSearch: 'cn' }); 
myGrid.jqGrid('navButtonAdd', '#pager', { caption: "Filter", title: "Toggle Searching Toolbar", buttonicon: 'ui-icon-pin-s', onClickButton: function() { myGrid[0].toggleToolbar(); } }); 
myGrid[0].toggleToolbar(); 
myGrid.jqGrid('hideCol', ["Type"]); 

回答

4

您可以使用任

myGrid.jqGrid('hideCol', "Type"); 

代替myGrid.jqGrid('hideCol', ["Type"]);或使用

groupColumnShow: [false] 

,而不是groupColumnShow: [true],因为你想隐藏哪个你分组列。

+0

我理解这一点。列被隐藏并且不显示。但是当我对列进行排序时,崩溃问题又如何呢?排序列时不应该折叠。任何想法? – Pirzada

+0

@pirzada:在一些动作如分页,排序,过滤jqGrid重建网格包含,因此应用'groupCollapse:true'。所以这不是一个错误。如果您需要保存“折叠”状态,您可以在[onPaging](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:pager#events)事件处理程序中执行此操作,并使用'groupingToggle 'loadComplete'内部再次扩展分组。 – Oleg

+0

@Oleg:请参阅[这个问题](http://stackoverflow.com/questions/6939096/hide-grouping-heading-in-jqgrid-if-every-row-inside-it-is-hidden) – abi1964