jqGrid - 使所有列都不可排序?

时间:2010-10-21 16:31:25

标签: jquery configuration jqgrid

除了向每列添加sortable:false之外,有没有办法让网格上的所有列都不可排序?我知道您可以在网格级别设置全局选项,但不知道您是否可以在colModel级别执行此操作。

2 个答案:

答案 0 :(得分:7)

您可以使用colmodel模板来实现此目的

cmTemplate: {sortable:false}

答案 1 :(得分:5)

jqGrid中没有与sortable:false中的colModel对应的全局设置。此外,jqGrid直接读 colModel的值,而不使用每个列元素的默认设置。因此,您必须明确定义每列中的sortable:false

另一方面,您可以执行以下操作:

// we define simplified column model without repeating of the same information
var cm = [
    {name:'id', key: true},
    {name:'name'},
    // ...
];
// new we define "our standard" properties which will be the same in all columns
var myStdModel = {width: 150, sortable: false};

// we extend (or overwrite) "our standard" properties
for (var i=0; i<cm.length; i++) {
    $.extend(cm, myStdModel);
    cm.index = cm.name;
}

$("#list").jqGrid ({
    colModel: cm, // we use the column model built before
    // all other settings
});

在某种程度上,你可以存档你想要的相同结果,但另一方面。