【问题标题】:jqGrid - Disable Reordering of Specific ColumnsjqGrid - 禁用特定列的重新排序
【发布时间】:2012-09-26 18:15:23
【问题描述】:

我有一个启用了网格级“可排序”选项的 jqGrid。这让我可以拖动列来重新排列它们,这很棒。但我想阻止用户对一个特定的列执行此操作,而其他列不受影响。这可能吗?

【问题讨论】:

标签: jqgrid


【解决方案1】:

我觉得你的问题很有趣,所以我做了the corresponding demo 来演示解决方案。在演示中,第一列“日期”无法排序。

我建议您阅读有关关闭主题的另外两个旧答案:thisthis。我的建议是基于同样的想法。

如果使用 jqGrid 的 sortable: true 选项,将在内部使用 jqGrid 内部方法 sortableColumnssortableColumns 方法使用 jQuery Sortable 来实现并将具有id="list" 的网格的items 选项初始化为值">th:not(:has(#jqgh_list_cb,#jqgh_list_rn,#jqgh_list_subgrid),:hidden)" .它使列"cb""rn""subgrid" 无法排序。如果您使用 jqGrid 选项 multiselect: truerownumbers: truesubGrid: true,则可以在网格中插入列。同样,如果您拥有带有name: "invdate" 的列,那么列元素的相应ID 将为jqgh_list_invdate。因此可以使用sortable 选项,如下所示

sortable: {
    options: {
        items: ">th:not(:has(#jqgh_list_cb,#jqgh_list_invdate,#jqgh_list_rn,#jqgh_list_subgrid),:hidden)"
    }
}

使"invdate" 列不可排序。

【讨论】:

    猜你喜欢
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 2018-09-07
    • 1970-01-01
    相关资源
    最近更新 更多