我是 jqGrid 的新手,遇到了一些奇怪的事情。xml 中的数据已成功加载到表中。当我对列中的名称进行排序时,行已正确排序。现在在某些列中,我只有数字。0, ... 176000, ... 当我单击表格标题时,行的顺序会变回最初加载时的列出方式。(所以当我新加载页面然后单击这些列上的排序时,没有任何反应)。
请注意,我正在使用 loadonce。
看起来对字符串进行排序工作正常,但是对数字进行排序失败。
有人可以指出我正确的方向吗?我不为此列使用任何自定义排序代码或格式化程序。
除非您另有说明,否则它将把您的数字排序为字符串。您可以查看http://www.trirand.com/jqgridwiki/doku.php?id=wiki%3acolmodel_options上的文档
和sorttype
属性。
您应该在定义 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'}
]
只需添加:
sorttype:'number'
这会将列排序为数字。
我相信我找到了解决方案。我摆弄了可排序、排序类型编号和排序类型整数,但这并没有使问题消失。
然后我查看了我的 XML,想知道它是否与数据周围的 CDATA 有关,然后将其删除。也没有运气。
vineetpeeyuse 的例子给了我一个线索。它表明名称和索引是相同的,而我的代码中的这些列并非如此。我现在想知道的是索引列的用途是什么,因为它必须与名称列相同。
我希望这对其他人有帮助!