【发布时间】:2011-05-03 10:31:50
【问题描述】:
我正在使用 jgGrid 3.8。我有一个问题。单击列标题时,我想为单元格的背景着色。我的意思是,升序或降序数据 bg 颜色必须与其他列单元格的颜色不同。我怎样才能做到这一点?
非常感谢。
【问题讨论】:
我正在使用 jgGrid 3.8。我有一个问题。单击列标题时,我想为单元格的背景着色。我的意思是,升序或降序数据 bg 颜色必须与其他列单元格的颜色不同。我怎样才能做到这一点?
非常感谢。
【问题讨论】:
您可以在loadComplete 事件句柄中使用setCell 方法。 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 中,我更多地使用颜色渐变效果。
【讨论】: