Yii - 在GridView单元格内渲染小部件

时间:2013-04-04 13:14:11

标签: php gridview yii widget

我想在CGridView单元格中渲染小部件。怎么可能?

确切地说 - 我想在CGridView中渲染TbProgress小部件。我无法找到任何解决方案,所以我将不胜感激。

1 个答案:

答案 0 :(得分:3)

在列定义中使用函数value。如果函数返回html使用type作为raw,那么它将不会被转义。函数将获得当前模型实例的$data参数。这是一个简单的例子:

$this->widget('CGridView', [
     'dataProvider' => $dataProvider,
     'columns' => [
          [
                'name' => 'title',
                'type' => 'raw',
                'value' => function($data)
                {
                    return CHtml::link(MHtml::i18nGetValue($data, 'title'), ["page/update", "id" => $data->id]);
                },
          ],
....