В 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 ( '# некоторые-chkbox'). Нажмите (функция() { . JQuery ( '# последовательного столбца') переключения(); })
Да, вы можете скрыть и показать столбец условно, используя атрибут "Видимый".
[
'attribute' => 'email',
'label' => 'Email',
'visible' => ($_GET['type']) == 'b') ? true : false,
],
Я считаю, этот - это то, что вы ищете.
Короче говоря, вы можете добавлять пользовательские ссылки и script для переключения столбцов таблицы gridview.