【问题标题】:jqGrid sorting some columns while others don'tjqGrid 对某些列进行排序,而其他列不排序
【发布时间】:2013-05-07 18:10:57
【问题描述】:

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

请注意,我使用的是 loadonce。

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

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

【问题讨论】:

  • 你的问题解决了吗?

标签: jquery sorting jqgrid numbers


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您应该在定义 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'}
    ]
    

    【讨论】:

      【解决方案3】:

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

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

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

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

      【讨论】:

        【解决方案4】:

        只需添加:

        sorttype:'number'
        

        这会将列排序为数字。

        【讨论】:

        • 您好奥马尔,感谢您查看此线程。但是我确实想知道为什么您在一年后提出一个解决方案,而 2 个人已经提出了同样的事情,但它不是解决方案。我的问题是索引和名称不同(或者其中一个是空对象)。因此,在将 index en 命名为相同的值之后,它似乎解决了我的问题。
        • 很抱歉,我遇到了同样的问题,没有注意到发布的日期。
        最近更新 更多