我有一个状态字段,应该以绿色或红色突出显示,具体取决于0或1的位置。我有以下代码,但它不起作用,单个颜色绘制中的所有单元格。告诉我怎么做这样的事情?
array(
'name' => 'status',
'htmlOptions' => array('class' => $model->status == 0 ? "non_payed_status" : "payed_status"),
'filter' => false,
),
答案 0 :(得分:1)
你必须覆盖CDataColumn类,看看这个,也许会有所帮助:
答案 1 :(得分:0)
您可以使用回调功能执行此操作。
在视图中 - CGridView列
array(
'name' => 'status',
'value' => array($this,'status_color'), // status_color is callback method
'htmlOptions' => array('class' => $model->status == 0 ? "non_payed_status" : "payed_status"),
'filter' => false,
),
在控制器类中
public function status_color($data)
{
if($data->status)
{
echo '<div class="payed_status">Active</div>';
}else{
echo '<div class="non_payed_status">Inactive</div>';
}
return false;
}
试试这个,希望它能帮到你。
答案 2 :(得分:0)
array(
'name' => 'status',
'htmlOptions' => array('class' => $data->status == 0 ? "non_payed_status" : "payed_status"),
'filter' => false,
),
只需将$model->status
更改为$data->status
即可。让我知道它的工作原理。
答案 3 :(得分:-1)
尝试添加
&#39;类型&#39; = GT;&#39;原料&#39;
array(
'name' => 'status',
'htmlOptions' => array('class' => $model->status == 0 ? "non_payed_status" :"payed_status"),
'filter' => false,
'type'=>'raw'
),