如何在YII中的CGridView中添加自定义列?

Cha*_*ist 4 yii

我需要在CGridView中添加一个列.

我用这个:

$this->widget('zii.widgets.grid.CGridView', array(
            'id'=>'user-grid',
            'dataProvider'=>$model->search(),
            'filter'=>$model,
            'pager' => array(
                'firstPageLabel' => '<<', 
                ),
            'columns'=>array(
                'username',
                'name',
                'email',
                'creationDate',
                array(
                        'class' => 'CButtonColumn',
                        'template' => '{change} {view}',
                        'buttons' => array(
                                        'change' => array(
                                                    'url'=> "'http://test.com/userservice/".$model->username."'",
                                        ),
                        ),

                ),
                array(
                    'name' => 'test',
                    'value' => 'testtest', 
                )
            ),
));
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误:

属性"User.test"未定义.

Stu*_*Stu 10

您几乎就在那里,在您的列数组中,您将使用nameparam作为数据提供者中模型的属性,而不是您可以使用的自定义列,header如下所示:

'columns'=>array(
    ...
    array(
        'header' => 'test',
        'value' => '"testtest"', 
    ),
    ...
)
Run Code Online (Sandbox Code Playgroud)