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