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而出现

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

解决问题最简单的方法是使用定义为函数的sorttype 。 您可以创建对象或数组,使选择值映射到相应的文本,并将选择值替换为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]; }} 

相应的演示使用上面的代码,它显示以下排序结果:

在此处输入图像描述