我正在使用 addRowData
手动向 jqGrid 中添加行,这些行的顺序必须得到保留。
但是,在分页时,所有行都会重新排序,以按照网格的第一个可见列排序。
我已经关闭了所有我能找到的文档中记录的排序选项。
如何防止所有排序并在所有页面间维护行的顺序?
代码
正在使用的初始化代码:
$("#grid").jqGrid({
autowidth: false,
cmTemplate: {sortable: false},
colModel: config.gridColumnModel
height: 600,
pager: "#aggregationToolbar",
sortable: false,
shrinkToFit: false
url: "fetch",
viewrecords: false
});
使用默认设置(由上面初始化代码中的选项覆盖):
$.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
});
sortname
代表什么值?为什么需要使用addRowData
?你使用哪种datetype
?最好附上你所使用的代码。 - Olegdatatype
未被定义,因此将使用datatype: 'xml'
。您使用任何默认设置吗?使用哪个?如果使用'local'
数据类型,您可以使用 jqGrid 的data
参数,它的工作速度更快,支持所有本地功能,如分页、排序和过滤。是否可以包括一个带有测试数据的小演示,以便重现您的问题? - Olegconfig.gridColumnModel
的定义?你能否包含测试数据(至少两行)?知道你使用哪个rowid
可能很重要。这些行有id
属性吗? - OlegaddRowData
和可能使用datatype:'local'
的主要原因?我怀疑您尝试通过错误的方式解决原始问题。您是否从服务器加载数据并需要在填充网格之前修改从服务器接收到的数据?在这种情况下,有更有效的方法,例如使用datatype:'local'
,无论如何,在99%的情况下都不需要使用addRowData
。 - Oleg