问题描述
||
我正在使用jqgrid,并且有3个无法排序的列。此时,无论将排序设置为true还是false,当用户将鼠标悬停在标题上时,光标都将变为手形。我希望该光标不是这些列标题上的手(文本或指针)。这样会使用户感到困惑。这是可以设置的吗?
谢谢,
标记
解决方法
我觉得这个问题很好。所以我+1。
您不是希望在非排序列上使用另一个光标的第一个人(不是最后一个)。可惜,但是jqGrid没有给您提供类或其他一些简单的属性,可用于查找可以在其中设置CSS \“ cursor:default \”的元素。
因此,我建议使用以下代码执行此操作:
var myGrid = $(\"#list\");
// create the grid
myGrid.jqGrid({
// all jqGrid parameters
});
// fix cursor on non-sortable columns
var cm = myGrid[0].p.colModel;
$.each(myGrid[0].grid.headers,function(index,value) {
var cmi = cm[index],colName = cmi.name;
if(!cmi.sortable && colName!==\'rn\' && colName!==\'cb\' && colName!==\'subgrid\') {
$(\'div.ui-jqgrid-sortable\',value.el).css({cursor:\"default\"});
}
});
您可以在演示现场看到该方法有效。在演示中,最后一列\'Notes \'是不可排序的。
如果这种行为在jqGrid的下一版本中成为标准,那就太好了。我将尝试寻找时间并提出建议,应更改jqGrid代码中的内容以使行为立即可用。
更新:免费jqGrid 4.8中不再存在游标在不可排序列上的问题。
,欢迎来到SO。
绝对。 CSS:
th.unsortableclass {
cursor: default;
}
现在,将该类应用于无法排序的列标题。
,Oleg的示例效果很好,但是我要求始终在列可排序的情况下始终显示箭头。我知道我要发表评论,但认为有人可能有相同的要求。
所以我将此添加到他的循环中:
jQuery(\'span.s-ico\',value.el).remove();
然后在他的代码运行之后:
jQuery(\".s-ico\").show();
然后添加到我的网格创建:
onSortCol:function(index,iCol,sortorder){
// redisplay all arrows
jQuery(\".s-ico\").show();
}
,$(\"jquery selector to pick only non-sorted columns\").css(\"cursor\",\"default\");