В Yii2 мы имеем GridView следующим образом:
<?= GridView::widget([ 'dataProvider' => $dataProvider, // 'filterModel' => $searchModel, 'layout' => "{items}\n{summary}\n{pager}", 'columns' => [ // ['class' => 'yii\grid\SerialColumn'], 'id', 'size', 'program' => [ 'label' => 'Program', 'value' => function($data) { return Html::a($data->program, ($data->program), ['target' => '_blank']); }, 'format' => 'raw', ], 'version', 'platform', 'license', ['class' => 'yii\grid\ActionColumn'], ], ]); ?>
Можно ли скрыть / показать столбец, если мы нажмем, например, на кнопку «Скрыть панель», затем на шоу «Показать платформу» или, возможно, флажок.
Я не могу понять, как это сделать, помогите мне
Вы можете сделать что-то вроде этого: – Назовите столбец, который хотите обработать, например идентификатор
[ 'class' => 'yii\grid\SerialColumn', 'options' => [ 'id' => 'serial-column' ], 'width' => '1%', 'vAlign' => 'middle', 'hAlign' => 'right', ]
Затем вы изменяете css, чтобы тот столбец исчез в начале
#serial-column {display: none}
Затем вы примените js для флажка, чтобы он появился:
jQuery ('# some-chkbox'). click (function () {jQuery ('# serial-column'). toggle ();})
Да, вы можете скрыть и показать столбец условно, используя атрибут «Видимый».
[ 'attribute' => 'email', 'label' => 'Email', 'visible' => ($_GET['type']) == 'b') ? true : false, ],
Я считаю, что это то, что вы ищете.
Короче говоря, вы можете добавлять собственные ссылки и скрипт для переключения столбцов таблицы gridview.