如何在 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",...}
],
...
});
我构建了 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",...}
],
...
});