如何在jqGrid中将初始排序顺序设置为降序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在jqGrid中将初始排序顺序设置为降序相关的知识,希望对你有一定的参考价值。

我构建了jqGrid表。

我想在单击标题列时将表desc排序为默认值。

firstsortorder: 'desc',
sortorder: 'desc',

加载表时,它按desc排序。但是当我单击标题列时,它首次按asc排序。

如何将排序顺序更改为'Desc'?

答案

选项firstsortorder是一个属性,应该在colModel项中设置,而不是在网格选项中。

要进行此操作,您需要将其单独设置为colModel中的每个项目,或使用模板为所有列设置它。

$("#grid").jqGrid({
    // this will sort initially the grid
    sortorder : "desc",
    ...
    colModel : [ 
        // this will sort the clicked field to desc order
        { name : "some",..., firstsortorder : "desc",...}    
        ...
    ],
    ...
 });

更新如果您希望在所有网格中都使用此选项而不在所有colModel项目中设置此选项,则可以使用cmTemplate属性覆盖colModel中每个项目的默认值。

以下代码执行相同操作,无需在每个项目上编写属性。请参阅docs here中的cmTemplate属性

$("#grid").jqGrid({
    // this will sort initially the grid
    sortorder : "desc",
    cmTemplate : { firstsortorder : "desc" },
    ...
    colModel : [ 
        // this will sort the clicked field to desc order
        { name : "some1",...}
        { name : "some2",...}
        ...
        { name : "somen",...}
    ],
    ...
 });

以上是关于如何在jqGrid中将初始排序顺序设置为降序的主要内容,如果未能解决你的问题,请参考以下文章

根据索引将 nsmutablearray 排序为降序

将升序合并排序转换为降序(C)

MySQL排序:SELECT ORDER BY

Firebase 按降序对数据进行排序。 (只排序了一半。)

order by 后有多个字段

记住(持久化)jqGrid的过滤器、排序顺序和当前页面