首页 > 解决方案 > 如何在 GridView Yii2 中创建条件

问题描述

我这里有问题。
我想在里面添加一个条件GridView

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        'table_column1',
        'table_column2',
        //CONDITION HERE
        if(condition){
            //BUTTON HERE
        } else {
            //TOOLS COLUMN HERE
        }
    ],
]); ?>

我怎样才能做到这一点?

标签: phpyiiyii2

解决方案


$visible如果您只想根据指定条件显示/隐藏某些列,则可以使用属性:

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        'table_column1',
        'table_column2',
        [
            'name' => 'some_column1',
            'visible' => $condition,
        ],
        [
            'name' => 'some_column2',
            'visible' => !$condition,
        ],
    ],
]); ?>

基于$condition,只有两列 (some_column1some_column1) 中的一列可见。


推荐阅读