JQGrid在分组中隐藏列和排序

时间:2011-07-07 02:25:38

标签: asp.net-mvc-3 jqgrid

我试过隐藏:true,width:0,display:false但是我仍然看到网格中的列。比我试过

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

问题1:

正在工作且列被隐藏但是一旦我显示折叠的行,则该列再次可见。

问题2:

我有groupCollapse:true。当我解开并进行排序时,所有行再次折叠。

问题:

折叠/取消隐藏隐藏列应该不可见。

排序行崩溃时。

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"]);

1 个答案:

答案 0 :(得分:4)

您可以使用

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

而不是myGrid.jqGrid('hideCol', ["Type"]);或使用

groupColumnShow: [false]

而不是groupColumnShow: [true],因为您要隐藏您要对其进行分组的列。