我对数据库中的特定表有一个GridView
。此表的状态列为0 or 1
。
我想在GridView
中为状态列为0的行添加更新操作按钮,以帮助管理员更新此内容。
我试过了,但出了点问题:
[
'attribute' => 'Status',
'format' => 'raw',
'value' => function (\backend\models\Document $model) {
if ($model->Status == 0) {
['class' => 'yii\grid\ActionColumn',
'template' => '{Update}',
];
}
},
],
答案 0 :(得分:0)
最简单的方法是从ActionColumn类创建扩展,并仅为您的状态呈现。
Class StatusActionColumn extends ActionColumn
{
public $testStatus = 0
protected function renderDataCellContent($model, $key, $index)
{
if ($model->Status == $this->testStatus) {
return parent::renderDataCellContent($model, $key, $index);
}
}
}
或者您可以通过在
中设置buttons
参数来直接添加代码
[
'class' => ActionColumn::className(),
'buttons' => [
'update' => function ($url, $model, $key) {
if ($model->Status == 0 ) {
$options = [
'title' => Yii::t('yii', 'Update'),
'aria-label' => Yii::t('yii', 'Update'),
'data-pjax' => '0',
];
return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, $options);
}
},
],
],
我会采用第一种方法,因为通过这种方式,您可以轻松添加视图,更新或其他自定义按钮。