jqgrid按文本排序列

时间:2014-04-02 13:10:45

标签: jquery jqgrid

我在我的网站上使用过jqgrid,这里遇到一个问题

我做了什么:

{name: 'type', index: 'type', width: 40, editable: true,edittype:"select",sorttype: "text", editoptions:{value:"1:Article;2:Seminar;3:Research;4:Cases"}},

现在网格按ID排序,而不是按此列的文本排序 所以“案例”最后因其ID 4

而出现

那么如何按文本对此列进行排序?

1 个答案:

答案 0 :(得分:2)

解决问题的最简单方法是使用sorttype定义为函数。您可以创建对象或数组,使选择值映射到相应的文本,并将选择值替换为sorttype内的文本。如果sorttype返回的文本将在排序期间使用而不是值:

var typeMapping = {
        "1": "Article",
        "2": "Seminar",
        "3": "Research",
        "4": "Cases"
    };

...

{ name: 'type', width: 40, editable: true,
    edittype: "select", editoptions: {value: "1:Article;2:Seminar;3:Research;4:Cases"},
    sorttype: function (value) {
        return typeMapping[value];
    }}

The corresponding demo使用上面的代码,它显示以下排序结果:

enter image description here