7
我知道它之前已经被问过了,但我不能让它运行,我无法尝试。jqGrid根据单元格值在网格中着色整条线
我想为网格中的一行着色,如果它的值不是1的话 - 我使用自定义格式化程序。格式化程序本身起作用,这不是问题。
我试过多种方式,到目前为止,我发现在网络上 - 增加一类,直接添加CSS代码,使用setRowData
,使用setCell
....
这里是我的例子 - 他们没有为我工作(Linux,ff363) - 任何指针将不胜感激。
27.05.2010_00:00:00-27.05.2010_00:00:00是我行ID
<style>
.state_inactive {
background-color: red !important;
}
.state_active {
background-color: green !important;
}
</style>
function format_state (cellvalue, options, rowObject)
{
var elem='#'+options.gid;
if (cellvalue != 1) {
jQuery('#list2').setRowData(options.rowID,'',
{'background-color':'#FF6F6F'});
jQuery('#list2').setRowData('27.05.2010_00:00:00-27.05.2010_00:00:00',
'',{'background-color':'#FF6F6F'});
for (var cnt=0;cnt<rowObject.length;cnt=cnt+1) {
jQuery(elem).setCell(options.rowId,cnt,'','state_inactive','');
jQuery(elem).setCell('"'+options.rowId+'"',cnt,'','state_inactive');
jQuery(elem).setCell('"'+options.rowId+'"',cnt,'5',
{'background-color':'#FF6F6F'},'');
}
} else {
for (var cnt=0;cnt<rowObject.length;cnt=cnt+1) {
jQuery(elem).setCell(options.rowId,cnt,'','state_active','');
}
}
<!-- dont modify, we simply added the class above-->
return cellvalue;
}
声音合乎逻辑,但不幸的是它不起作用 - ui-widget-content类不会被删除。 我把它放在格式化程序调用和gridComplete函数中 - 什么都没有:( – Thomas 2010-05-29 22:38:36
@Thomas。在'loadComplete'中填充行并且'gridComplete'中没有,在我的''loadComplete'里面,我总是推荐你你可以调用'jQuery('#list2')。getDataIDs();''inside或'loadComplete'方法来调用'gridview:true'参数。 ,使用'getCell()'测试单元格值,然后删除并添加该类。 – Oleg 2010-05-30 03:57:08
它仍然不起作用:( Aparantly它的B/C jQuery选择器不能找到行ID - 对象是空的,尽管ID是在那里。 ... id = 25.05.2010_00:00:00-26.05.2010_00:00:00
我建议大家尽量someing这样。 这实际上会让你访问整行。
来源
2010-05-29 20:05:17 David
嗯,这至少工作:) 我会尝试使用setRowData代替setCell,我希望这就是便宜但从执行时刻 - 这需要相当长的在我的测试vm上... – Thomas 2010-05-29 23:03:33
为任何人找这个话题真正的答案..
这个作品!
在另一个文件的样式表自定义CSS
不要忘了!重要的是要覆盖主题UI辊
来源
2010-11-01 03:00:32
同意。这工作完美。如果你需要将它设置为正确的jquery ui css类,它是:$(this).jqGrid('setRowData',rowid,false,'ui-state-error'); – 2012-04-05 21:25:23
它也适用于我,但只有当gridview没有设置为true时 – ymakux 2013-03-28 15:38:18
我最终将类似的逻辑放到了gridComplete中,但是概念运行得很好。 – afreeland 2013-09-19 14:09:40
我已经试过上述解决方案,但我认为一个是正确:
如果css类位于撇号之间,则它被覆盖原来的一个(你可以看到,很容易使用Firebug):
与{颜色: '红色'}:正确
根据setRowData的文档:
来源
2010-11-03 15:06:47 christof
我在长时间的尝试解决方案,最后从所有的例子和建议结合起来,为我工作。当然你需要定义自定义CSS样式才能使用。希望这会有所帮助,但它可能会产生潜在的速度问题。
...
...
来源
2010-11-20 18:21:57 marbo
非常简单,工作
来源
2013-01-18 16:34:19
假定其他单元格的值是Y/N。
以下代码放在loadComplete事件
来源
2014-08-29 15:23:17 user3990701
你能描述你的代码吗?为什么它有助于OP? – msrd0 2014-08-29 15:27:26
@ user3755692:已添加评论。不知道你不清楚什么。此代码在加载时为网格创建后的所有行填充单元格/行。如果您已经知道此代码,则可能对其他人有所帮助。如果您认为它没用,请将其删除。 – user3990701 2014-09-03 13:58:46
尽可能好地描述你的代码。我不认为任何回答这个问题的答案都是无用的,但总会有一些答案比其他答案更有用 - 并且你决定哪个答案是有用的。 – msrd0 2014-09-03 15:03:17
相关问题