YII2 Gridview 批量删除

Posted WonderBlog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YII2 Gridview 批量删除相关的知识,希望对你有一定的参考价值。

1. 给GridView取个ID

 <?= GridView::widget([
                ‘dataProvider‘ => $dataProvider, 
                ‘options‘ => [‘id‘ => ‘grid, ‘class‘ => ‘grid-view table-scrollable‘],

....

2.GridView的第一列:

        [
            ‘class‘ => ‘yii\grid\CheckboxColumn‘,
            ‘name‘ => ‘id‘,
        ],

3.添加一个批量删除的按钮(class=‘..gridview‘ 增加这个gridview是为了能够被js使用):

<?= html::a(‘<i class="fa fa-close"></i> 批量删除‘, "javascript:void(0);", [‘class‘ => ‘btn btn-sm btn-warning gridview‘]) ?>

 

4.写客户端JS:

    $this->registerJs(‘
    $(".gridview").on("click", function () {
        var keys = $("#grid").yiiGridView("getSelectedRows");
        if (keys.length>0){
            $.post("delete-all?id="+ (keys));
        }
    });
  ‘);

5: controller里delete-all方法:

        public function actionDeleteAll($id)
        {
            $model = new User(); //你要批量删除的表
            $model->deleteAll(‘id in (‘ . $id . ‘)‘);

            return $this->redirect(Yii::$app->request->referrer);
        }

 

以上是关于YII2 Gridview 批量删除的主要内容,如果未能解决你的问题,请参考以下文章

利用yii2 gridview实现批量删除案例[转]

yii2 gridview 怎么加checkbox

Yii2如何批量添加数据

Yii2中的Active Record可以批量插入数据吗

Yii2:在 GridView 和 DetailView 中删除空值的“(未设置)”

Yii2的Gridview应用技巧补充