我正在使用jgGrid 3.8。我有一个问题。单击列标题时,我想为单元格的背景着色。我的意思是,升序或降序数据bg颜色必须是其他列的单元格的不同颜色。我怎样才能做到这一点?
非常感谢。
答案 0 :(得分:4)
您可以在setCell事件句柄中使用loadComplete方法。在加载排序数据之后和数据分页之后将调用事件loadComplete,因此它是根据当前排序顺序更改单元格背景颜色的好地方:
loadComplete: function() {
var ids = grid.jqGrid('getDataIDs');
if (ids) {
var sortName = grid.jqGrid('getGridParam','sortname');
var sortOrder = grid.jqGrid('getGridParam','sortorder');
for (var i=0;i<ids.length;i++) {
grid.jqGrid('setCell', ids[i], sortName, '', '',
{style:(sortOrder==='asc'?'background:aqua;':
'background:yellow;')});
}
}
}
执行此操作的工作示例您可以看到实时here。
更新:同时查看modified demo。结果看起来比上一个演示看起来更漂亮:
它显示除Opera之外的所有浏览器的渐变效果。在Opera中,它与之前的演示相同。在另一个answer我用颜色渐变效果玩得更多。