Yii - 如何在CGridView中隐藏特定记录的按钮?
问题描述:
I'm working in a project. How to hide just only a button for specific record in cgridview?
Hope anyone can give me suggestion for this problem. Thanks all.
我正在一个项目中工作。 如何在cgridview中只隐藏特定记录的按钮?
p> \ n
希望有人能给我这个问题的建议。 谢谢大家。 p> div>
答
You can use "visible"
attribute for this button in your CButtonColumn
and pass a PHP expression (within single quotes) to control when it gets shown and when it doesn't:
For example, the following example would make the object having attribute "name"
equal to "Kasi"
not be shown. You can adapt it to your needs.
[
'class' =>'CButtonColumn',
'template'=>'{view}{update}{delete}'
'buttons'=>[
'delete'=>[
'visible'=>'($data->name !== "Kasi")'
]
]
]
Not much info, but here's the link to the official docs: docs for attribute 'visible'
答
in columns array add this
array(
'class'=>'bootstrap.widgets.TbButtonColumn',
'template'=>'{view}{update}',
'buttons'=>array(
'view' => array(
'url'=>'Yii::app()->controller->createUrl("controller/action", array("id"=>$data[id]))',
),
'update' => array(
'url'=>'Yii::app()->controller->createUrl("controller/action", array("id"=>$data[id]))',
),
),
),