我有一个JQGrid填充数据正常工作.默认排序功能正在按预期工作.但是,我想按点击列排序,并按名称列排序; 每次.我认为这onSortCol是我应该开始的地方,但文档中没有太多关于如何对表的内容进行排序的内容.理想情况下,我不想编写自己的排序算法,只是以某种方式插入JQGrid API.所有数据都在客户端上,如果可能的话,我想避免去服务器.
这是我用来创建网格的代码:
$jqGrid = $('#people_SelectedContacts').jqGrid({
ajaxGridOptions: {
type: "POST"
},
url: 'AJAX/GetContacts',
datatype: "json",
postData: JSON.stringify({ ID: $('#ID').val() }),
loadonce: true,
sortable: true,
caption: "Selected Contacts",
hidegrid: false,
autowidth: true,
rowNum: 10000,
height: "100%",
loadui: 'block',
colNames: ['lecID', 'lrlID', 'mjID', 'Role', 'Name', 'Entity', 'Contact', 'D #', ''],
colModel: [
{ name: 'LECID', hidden: true },
{ name: 'LRLID', hidden: true },
{ name: 'MJID', hidden: true },
{ name: 'RoleLookupName', index: 'RoleLookupName' },
{ name: 'FullName', …Run Code Online (Sandbox Code Playgroud) 在使用javascript(jQuery)填充后,是否有一种方法可以用于覆盖/插入colModel中特定列的自定义函数"sorttype"?
我在这里找到了一个例子:http://www.ok-soft-gmbh.com/jqGrid/CustomSorttype1.htm,其中sorttype是用初始设置实现的,但我之后需要更改它.
尝试:
var attName = grid.getGridParam("colModel")[1].name;
grid.setColProp(attName, { sorttype: function (cell) {
if (cell == '<div>x</div>') { return '0' } else { return '1' };
}
});
Run Code Online (Sandbox Code Playgroud)
但不起作用.