Yii2仅在单行中隐藏动作操作列

时间:2015-04-01 04:02:49

标签: php gridview action yii2

我有一个GridView,列表中的某些项目是由用户创建,但它们是预先定义的,请向我们开发。

enter image description here

在上图中,带有 (未设置) 商店ID的行是我们创建的预定义项目。由于它是预定义的,因此不应该有“动作图标”,“更新”和“删除”。

我们如何至少在GridView上的预定义项目中隐藏这些操作图标?

1 个答案:

答案 0 :(得分:3)

您可以创建新列并设置可调用$content属性。请参阅http://www.yiiframework.com/doc-2.0/yii-grid-column.html# $ content-detail

所以,例如。将此代码放在Grid列中:

[        
    'content' => function ($model, $key, $index, $column) {
        if ($model->storeId == null) {
            return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', ['view', 'id' => $model->id])
            . Html::a('<span class="glyphicon glyphicon-pencil"></span>', ['update', 'id' => $model->id])
            . Html::a('<span class="glyphicon glyphicon-trash"></span>', ['delete', 'id' => $model->id], ['data-method'=> 'post']);
        }
    }
]

我的项目就像https://yadi.sk/i/2fWnWZBNffQJLhttps://yadi.sk/i/GyHWD9m9ffQK2

一样