基于在CGridView列值更改行的颜色(Change the Row Color Based on

2019-07-30 00:24发布

在Yii中,CGridView有它的行中的自己的背景颜色。 但我想做的是突出基于列的一个值特定行。

举例来说,我有三个列,ID,名称,状态。 现在,如果状态的值是无效或0,我要突出一些颜色的行。

我简要地阅读类参考和搜索这个网站也是如此。 但无法找到相关的解决方案。 如果一些示例或朝向正确的解决方案的一些方向,即,将不胜感激。

谢谢,Ujjwal

Answer 1:

CGridView “rowCssClassExpression”是为了得到你想要的方式。

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'rowCssClassExpression'=>'($data->myFlag==0)?"normal":"especial"',
    'columns'=>array(
    ...
    ),
));

您也可以调用自定义的PHP函数,和$数据变量传递给它。 该函数应该给定的行返回类的名字:)



Answer 2:

使用rowCssClass和rowCssClassExpression你的功能。 我没有测试此代码但诀窍,你可以用它来获得您的解决方案。

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
    'rowCssClass'=>array('odd','even'),
    'rowCssClassExpression'=>($data->status==0)?even:odd,
    'columns'=>array(
    ),
));


文章来源: Change the Row Color Based on the Column value in CGridView
标签: yii