In the circle of friends, some children discussed the GridView problem with me. A friend said that you can use gridview to remove the table headers for me. Link? I have thought about it for a long time, and it is really not easy to implement using gridview. Friends who have different opinions are welcome to leave messages. However, this gridview has a connection. It obviously needs to set up an ActiveDataProvider. How do you want me to use the gridview to implement it?
This problem is also very simple, let’s take a look at the specific implementation
$dataProvider = new ActiveDataProvider([ 'query' => $query, ]); $dataProvider->setSort(false);
It’s easy to get it done in minutes.
Okay, let’s talk about the topic: How to use yii2 gridview to implement batch deletion?
Let me talk about a few steps first, so as not to post the code directly. Some friends deleted one sentence and added another and finally failed!
1. Add an id when setting options in gridview. Here we name grid
'options' => [ // ...其他设置项 'id' => 'grid' ],
2. Add option checkboxes to columns. Checkbox operations are indispensable for batch deletion. Here our name value is set to id to facilitate data operations
[ 'class' => 'yii\grid\CheckboxColumn', 'name' => 'id', ],
3. We add a batch delete button on the page. Note that we have added a class gridview here to facilitate the later js to achieve the click effect
<?= Html::a('批量删除', "javascript:void(0);", ['class' => 'btn btn-success gridview']) ?>
4. The last step is to write js to implement button operation. Open your console and take a look. We can easily get the ID of the selected row, and then we can operate the data asynchronously here.
<?php $this->registerJs(' $(".gridview").on("click", function () { //注意这里的$("#grid"),要跟我们第一步设定的options id一致 var keys = $("#grid").yiiGridView("getSelectedRows"); console.log(keys); }); '); ?>
Paste the complete code below
GridView::widget([ // ...... 'options' => ['class' => 'grid-view','style'=>'overflow:auto', 'id' => 'grid'], // ...... 'columns' => [ // ...... [ 'class' => 'yii\grid\CheckboxColumn', 'name' => 'id', ], // ...... ], ]); $this->registerJs(' $(".gridview").on("click", function () { var keys = $("#grid").yiiGridView("getSelectedRows"); console.log(keys); }); ');
Bangkejia recommends reading:
A brief analysis of common operations of GridView in Yii2
Tips for loading css and js at the bottom of yii2 page
A brief analysis of Yii2 GridView date formatting and making dates searchable tutorial
A brief analysis of Yii2 GridView implementation of drop-down search tutorial
The above content is the Yii2 gridview batch deletion tutorial introduced by the editor. I hope it will be helpful to everyone!