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

How to set initial sort order as descending in jqGrid

我构建了 jqGrid table。

我想在单击 header 列时默认对 table desc 进行排序。

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

加载 table 时,它按 desc 排序。 但是当我点击 header 列时,它第一次按 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 中每个项目的默认值。

下面的代码不需要在每个项目上写 属性 就可以完成同样的工作。请参阅 cmTemplate 属性 中的 docs here

$("#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",...}
    ],
    ...
 });