jqGrid:禁用排序

Don*_*lor 21 javascript jquery jquery-plugins jqgrid

我正在使用手动向jqGrid添加行addRowData,并且必须维护这些行的顺序.

但是,在分页时,所有行都会重新排序,以按网格的第一个可见列进行排序.

我已经关闭了所有可以找到的排序选项.

如何防止所有页面中的所有排序和维护行的顺序?

正在使用的初始化代码:

$("#grid").jqGrid({
  autowidth: false,
  cmTemplate: {sortable: false},
  colModel: config.gridColumnModel
  height: 600,
  pager: "#aggregationToolbar",
  sortable: false,
  shrinkToFit: false
  url: "fetch",
  viewrecords: false
});
Run Code Online (Sandbox Code Playgroud)

正在使用的默认设置(由上面的初始化代码中的选项覆盖):

$.extend($.jgrid.defaults, {
  altClass: "altRow",
  altRows: true,
  autowidth: true,
  cmTemplate: {
    align: "center",
    title: false
  },
  datatype: "local",
  gridview: true,
  height: "auto",
  hidegrid: false,
  jsonReader: {
    page: function(obj) { return 1; },
    records: function(obj) { return obj.length; },
    repeatitems: false,
    root: "objects",
    total: function(obj) { return 1; }
  },
  loadonce: true,
  rowList: [50, 100, 250],
  rowNum: 100,
  sortable: true,
  toppager: true,
  viewrecords: true
});
Run Code Online (Sandbox Code Playgroud)

Yah*_*hia 21

根据jqGrid版本,您需要sortable: false专门+明确地在每列上进行...

对于参考文献,参见这里,这里这里.


Pat*_*ell 21

对于支持的版本cmTemplate,您可以使用:

cmTemplate: { sortable: false }


cmTemplate:定义一组属性,覆盖colModel中的默认值.例如,如果要使所有列都不可排序,则只能在此处指定一个属性,而不是在colModel的所有列中指定它