Yii - 如何在CGridView中隐藏特定记录的按钮?

时间:2014-05-17 10:21:17

标签: php yii

我在一个项目中工作。如何只隐藏cgridview中特定记录的按钮? enter image description here

希望有人能给我这个问题的建议。谢谢大家。

2 个答案:

答案 0 :(得分:3)

您可以在"visible"中为此按钮使用CButtonColumn属性,并传递 PHP表达式(在单引号内)以控制何时显示以及何时显示T:

例如,以下示例将使属性"name"等于"Kasi" 的对象无法显示。您可以根据自己的需要进行调整。

[
    'class' =>'CButtonColumn',
    'template'=>'{view}{update}{delete}'
    'buttons'=>[
        'delete'=>[
            'visible'=>'($data->name !== "Kasi")'
        ]
    ]
]

信息不多,但这里是官方文档的链接:docs for attribute 'visible'

答案 1 :(得分:0)

在列数组中

添加此

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]))',
            ),
        ),
    ),