【问题标题】:JQGrid hide column and sorting in groupingJQGrid在分组中隐藏列和排序
【发布时间】:2011-07-07 02:25:38
【问题描述】:

我试过 hidden: 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"]);

【问题讨论】:

    标签: asp.net-mvc-3 jqgrid


    【解决方案1】:

    你可以使用任何一个

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

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

    groupColumnShow: [false]
    

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

    【讨论】:

    • 我明白这一点。列被隐藏且不显示。但是,当我对列进行排序时,折叠问题呢?对列进行排序时不应折叠。有什么想法吗?
    • @pirzada:在分页、排序、过滤等操作上,jqGrid 重建网格包含,因此应用groupCollapse: true。所以这不是一个错误。如果您需要保存“折叠”状态,您可以在onPaging 事件处理程序中执行此操作,并在loadComplete 中使用groupingToggle 再次展开分组。
    • @Oleg:请看this question
    • @Abhishek Simon:我正忙于我的主要工作。如果我有时间,我会看看你的问题。
    猜你喜欢
    • 1970-01-01
    • 2010-12-12
    • 2013-01-15
    • 2016-04-05
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    相关资源
    最近更新 更多