我使用jqGrid,有3列不能排序。此时,当用户将鼠标悬停在标头上时,无论排序设置为true还是false,光标都将变为手形。我希望光标是那些列标题上的手(文本或指针)以外的东西。这样会让用户感到困惑。这是可以设置的吗?谢谢,马克
lzfw57am1#
我觉得这个问题很好。+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"}); } });
如果这样的行为在jqGrid的下一个版本中成为标准,那就太好了。我会尽量找时间写一些建议,从jqGrid的代码应该改变什么,使行为开箱即用。
已更新:游标在不可排序列上的问题在free jqGrid 4.8中不存在。
rlcwz9us2#
欢迎来到SO。绝对的。CSS:
th.unsortableclass { cursor: default; }
现在将这个类应用于不可排序的列标题。
cygmwpex3#
Oleg的例子很好,但是我有一个请求,如果列是可排序的,总是显示箭头。我知道我在评论,但我想有人可能有同样的要求。所以我在他的循环中添加了这个:jQuery('span.s-ico',value.el).remove();然后在他的代码运行之后:jQuery(".s-ico").show();然后将此添加到我的网格创建中:
jQuery('span.s-ico',value.el).remove();
jQuery(".s-ico").show();
onSortCol:function(index, iCol, sortorder){ // redisplay all arrows jQuery(".s-ico").show(); }
w1jd8yoj4#
$("jquery selector to pick only non-sorted columns").css("cursor", "default");
4条答案
按热度按时间lzfw57am1#
我觉得这个问题很好。+1从我
您不是第一个(也不是最后一个)希望在不可排序的列上使用另一个游标的人。遗憾的是,jqGrid没有提供类或其他一些简单的属性来查找可以设置CSS“cursor:default”的元素。
所以我建议用下面的代码来做这件事:
如果这样的行为在jqGrid的下一个版本中成为标准,那就太好了。我会尽量找时间写一些建议,从jqGrid的代码应该改变什么,使行为开箱即用。
已更新:游标在不可排序列上的问题在free jqGrid 4.8中不存在。
rlcwz9us2#
欢迎来到SO。
绝对的。CSS:
现在将这个类应用于不可排序的列标题。
cygmwpex3#
Oleg的例子很好,但是我有一个请求,如果列是可排序的,总是显示箭头。我知道我在评论,但我想有人可能有同样的要求。
所以我在他的循环中添加了这个:
jQuery('span.s-ico',value.el).remove();
然后在他的代码运行之后:
jQuery(".s-ico").show();
然后将此添加到我的网格创建中:
w1jd8yoj4#