Yii 在CGridView中定义多个CButtonColumn

Yii 在CGridView中定义多个CButtonColumn,yii,yii-components,cgridview,cbuttoncolumn,Yii,Yii Components,Cgridview,Cbuttoncolumn,我一直在使用Yii的CGridView,我想知道是否有任何方法可以分离cbuttoncolumn,或者一次启动多个cbuttoncolumn。 这样每个按钮都有一个带有特定标题的特定列 array( 'header'=>'View', 'class'=>'CButtonColumn', 'template'=>'{view}' ), array( 'header'=>'Update', 'class'=>'CB

我一直在使用Yii的CGridView,我想知道是否有任何方法可以分离cbuttoncolumn,或者一次启动多个cbuttoncolumn。 这样每个按钮都有一个带有特定标题的特定列

array(
    'header'=>'View',    
    'class'=>'CButtonColumn',
    'template'=>'{view}'
),
array(
    'header'=>'Update',    
    'class'=>'CButtonColumn',
    'template'=>'{update}'
),
array(
    'header'=>'Delete',    
    'class'=>'CButtonColumn',
    'template'=>'{delete}'
),

。。。如果这就是您的意思。

如果我正确理解您的问题,您可以只添加两个数组,并定义模板和配置,如下所示:

$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'person-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'firstName',
        'lastName',
        'language',
        'hours',
        array(
            'header'=>'View',
            'class'=>'CButtonColumn',
            'template'=>'{view}',
            'buttons'=>array(
                'view'=>
                    array(
                        'url'=>'Yii::app()->createUrl("person/view", array("id"=>$data->id))',
                    ),
            ),
        ),
        array(
            'header'=>'Update',
            'class'=>'CButtonColumn',
            'template'=>'{update}',
            'buttons'=>array(
                'update'=>
                    array(
                        'url'=>'Yii::app()->createUrl("person/update", array("id"=>$data->id))',
                    ),
            ),
        )
    ),
));

您可以通过覆盖cgridview的视图部分来实现这一点(您必须扩展扩展)