asp.net-mvc-3 - JQGrid隐藏列并分组排序

标签 asp.net-mvc-3 jqgrid

我尝试过隐藏:true,宽度:0,显示:false,但我仍然在网格中看到该列。比我尝试过的还要多

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

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

最佳答案

您可以使用其中之一

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

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

groupColumnShow: [false]

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

关于asp.net-mvc-3 - JQGrid隐藏列并分组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6605183/

相关文章:

jquery-ui - 加载一次 :true causing issues in paging for jqGrid

jquery - JqG​​rid 在排序和搜索期间使用 colModel 的索引属性而不是名称属性

c# - 无法在当前范围或上下文中解决

jqgrid - jqGrid 排序时保持自定义格式列中复选框的选中状态

asp.net - 部署asp.net,IIS没有导入应用选项

asp.net-mvc-3 - MVC3 属性验证问题

asp.net-mvc-3 - MVC 3 Windows 身份验证和其他用户数据

javascript - 如何捕获单击和双击复选框

c# - 在不重定向 MVC3 中的用户的情况下覆盖 RenderBody 内容

c# - ASP.NET MVC 将 JSON 数据发送到 Controller 操作