在Yii中,CGridView在行中具有自己的背景颜色。但是我想要做的是根据其中一列的值突出显示特定的行。根据CGridView中的列值更改行颜色
对于实例,我有三列,id,name,status。现在,如果状态的值为无效或0,我应该用某种颜色突出显示该行。
我简要阅读了课程参考资料,并搜索了该网站。但找不到相关解决方案。如果一些例子或方向朝着正确的解决方案,那将是非常感谢。
感谢, Ujjwal
在Yii中,CGridView在行中具有自己的背景颜色。但是我想要做的是根据其中一列的值突出显示特定的行。根据CGridView中的列值更改行颜色
对于实例,我有三列,id,name,status。现在,如果状态的值为无效或0,我应该用某种颜色突出显示该行。
我简要阅读了课程参考资料,并搜索了该网站。但找不到相关解决方案。如果一些例子或方向朝着正确的解决方案,那将是非常感谢。
感谢, Ujjwal
CGridView 'rowCssClassExpression'是得到你想要的东西的方式。
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'rowCssClassExpression'=>'($data->myFlag==0)?"normal":"especial"',
'columns'=>array(
...
),
));
您还可以调用自定义php函数,并将$ data变量传递给它。该函数应返回给定行的类名:)
使用rowCssClass和rowCssClassExpression你的功能。我没有测试过这个代码,但是你可以用它来获得你的解决方案。
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'rowCssClass'=>array('odd','even'),
'rowCssClassExpression'=>($data->status==0)?even:odd,
'columns'=>array(
),
));
'rowCssClass'和'rowCssClassExpression'[互斥](http://code.google.com/p/yii/source/browse/tags/1.1) .10/framework/zii/widgets/grid/CGridView.php#505):( – sucotronic
而且,当我尝试使用不带引号的rowCssClassExpression值时,它不起作用,条件总是为false。 ! –
我已经说过我没有测试过这个代码,但是这个技巧会起作用 –
谢谢,它的工作原理!! –
@UjjwalPrajapati欢迎:) – sucotronic
我是诅咒当我为此搜索yii/zii时。对不起,对'上!'评论,但我感到特别感谢简单的修复。 – tedders