在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'],
],
]); ?>
是否可以隐藏/显示列,如果我们点击,例如点击“隐藏平台”按钮,然后显示“显示平台”,或者可能是复选框。
我无法理解如何做到这一点,请帮助我
答案 0 :(得分:6)
您可以这样做: - 为要处理的列命名,例如一个ID
[
'class' => 'yii\grid\SerialColumn',
'options' => [ 'id' => 'serial-column' ],
'width' => '1%',
'vAlign' => 'middle',
'hAlign' => 'right',
]
然后修改css以使该列在开头消失
#serial-column {display: none}
然后您将js应用于复选框以使其显示:
的jQuery( '#一些-chkbox')。点击(函数(){ 。jQuery的( '#串行列')切换(); })
答案 1 :(得分:3)
是的,您可以使用“可见”属性有条理地隐藏和显示列。
[
'attribute' => 'email',
'label' => 'Email',
'visible' => ($_GET['type']) == 'b') ? true : false,
],
答案 2 :(得分:0)
我相信this正是您所寻找的。 p>
简而言之 - 您可以添加自定义链接和脚本来切换gridview表的列。