yii2使用GridView实现数据全选及批量删除按钮示例

整理文档,发现一个用GridView实现数据全选及批量删除按钮示例,稍微整理精简一下做下分享。

先来看实现的效果

关键代码如下:

  <?= GridView::widget([
   'dataProvider' => $dataProvider,
   'showFooter' => true, //设置显示最下面的footer
    'id' => 'grid',
    'columns' => [
     [
      'class'=>CheckboxColumn::className(),
      'name'=>'id',
      'headerOptions' => ['width'=>'30'],
      'footer' => '<button href="#" rel="external nofollow" class="btn btn-default btn-xs btn-delete" url="'. Url::toRoute('admin/delete') .'">删除</button>',
      'footerOptions' => ['colspan' => 5],
     ],
     ['attribute' => 'id', 'footerOptions' => ['class'=>'hide']], //其他列每个都要增加footerOptions项,设置class为hide,到达隐藏效果;
     ['attribute' => 'username', 'footerOptions' => ['class'=>'hide']],
     [
      'attribute' => 'status',
      'value' => function($model){
       if ($model->status == Admin::STATUS_ACTIVE){
        return '启用';
       }
       return '禁用';
      },
      'footerOptions' => ['class'=>'hide']
     ],
     ['class' => 'yii\grid\ActionColumn', 'header' => '管理操作', 'footerOptions' => ['class'=>'hide']],
    ],
   'layout' => "{items}\n{pager}"
  ]); ?>

最后已选数据的获取:

var ids = $("#grid").yiiGridView("getSelectedRows");

获取数据后就可以ajax提交到想要的controller

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。