我正在寻找能够禁用列排序的解决方案 jqGrid表创建后,是否可能?怎么做?
深入的问题: 首先我定义了一个jqGrid,然后提供了一些过滤器字段,然后返回被认为是所选过滤器的数据,代码将如下所示
jQuery("#gridtable").jqGrid('setGridParam',{url:"/getUsers/?site="+site+",page:1}).trigger("reloadGrid");
$('#results').show();
所以需要一些东西,如果已经选择了网站,或者不允许在id列上进行排序,或者在“id”列上禁用排序。
答案 0 :(得分:4)
jqGrid将每个可排序列标题上的click
事件处理程序绑定到对数据进行排序的函数。要禁用列上的列排序,您可以取消绑定click
事件。例如,如果您的列名为'colName',而id =“list”的网格,则<th>
元素的ID(列标题)将为“list_colName”。因此,要禁用排序,您可以执行以下操作:
var $grid = $("#list"), columnName = 'colName',
$th = $("#" + $.jgrid.jqID($grid[0].id) + "_" + columnName);
$th.unbind("click");
$th.children("div.ui-jqgrid-sortable").css("cursor", "default");
最后一行在列标题上另外设置了默认光标,以更清楚地表明该列不可排序。