我正在尝试从数据库表中获取元素并根据一个条件在Gridview中显示它们,但没有成功。
这是我的gridview代码:
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id' => 'invoice-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'columns' => array(
'number',
'recipient_user_id',
'recipientName',
'recipientCompany',
'type' => function($data, $row) {
if ($data->type == 1) { return "Hello"; }
if ($data->type == 2) { return "Bye"; }
if ($data->type == 3) { return "Good"; }
if ($data->type == 4) { return "Milk"; }
},
'periodFrom',
array(
'class' => 'CButtonColumn',
'template'=>'{view}',
),
),
)); ?&GT;
它仍然无效。你有其他想法吗?
答案 0 :(得分:0)
对不起。我终于找到了我的错误。通常我应该这样做:
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id' => 'invoice-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'columns' => array(
'number',
'recipient_user_id',
'recipientName',
'recipientCompany',
array(
'name'=>'type',
'value'=>function($data, $row) {
if ($data->type == 1) { return "Hello"; }
if ($data->type == 2) { return "Bye"; }
if ($data->type == 3) { return "Good"; }
if ($data->type == 4) { return "Milk"; }
},
),
'periodFrom',
array(
'class' => 'CButtonColumn',
'template'=>'{view}',
),
),
)); ?&GT;