0

我是 jqGrid 的新手,遇到了一些奇怪的事情。xml 中的数据已成功加载到表中。当我对列中的名称进行排序时,行已正确排序。现在在某些列中,我只有数字。0, ... 176000, ... 当我单击表格标题时,行的顺序会变回最初加载时的列出方式。(所以当我新加载页面然后单击这些列上的排序时,没有任何反应)。

请注意,我正在使用 loadonce。

看起来对字符串进行排序工作正常,但是对数字进行排序失败。

有人可以指出我正确的方向吗?我不为此列使用任何自定义排序代码或格式化程序。

4

4 回答 4

1

除非您另有说明,否则它将把您的数字排序为字符串。您可以查看http://www.trirand.com/jqgridwiki/doku.php?id=wiki%3acolmodel_options上的文档 和sorttype属性。

于 2013-05-13T16:27:15.930 回答
0

您应该在定义 jqgrid 的列并将其设置为数字类型时尝试使用 sorttype 属性。例子

 colModel:[
             {name:'clientCode',index:'clientCode', sorttype:'number'},
             {name:'buildId',index:'buildId',width:'45px', sorttype:'number'},
             {name:'courseId',index:'courseId',width:'55px', sorttype:'number'}, 
             {name:'courseName',index:'courseName',width:'80px'}
]
于 2013-05-14T10:37:00.223 回答
0

只需添加:

sorttype:'number'

这会将列排序为数字。

于 2014-12-18T14:24:20.290 回答
0

我相信我找到了解决方案。我摆弄了可排序、排序类型编号和排序类型整数,但这并没有使问题消失。

然后我查看了我的 XML,想知道它是否与数据周围的 CDATA 有关,然后将其删除。也没有运气。

vineetpeeyuse 的例子给了我一个线索。它表明名称和索引是相同的,而我的代码中的这些列并非如此。我现在想知道的是索引列的用途是什么,因为它必须与名称列相同。

我希望这对其他人有帮助!

于 2013-05-14T13:36:01.113 回答