在gridview yii2的复选框列中选择所有页面的所有记录

Mik*_*oss 7 php gridview yii2 yii2-advanced-app

我想知道yii2 gridview复选框列中是否有任何内置选项,一次选择/取消选择所有行.

例如,如果我在gridview中有500条记录,并且我一次显示100条记录,那么我一次只能选择100条记录并执行任何批量操作.

我希望用户能够一次选择所有500条记录,并立即对这些记录执行任何批量操作.希望大家都能得到我的问题

我提出了一个建议,以警予在框架的业主github,他们已经证实,他们会做这种增强很快就好了,放在增强部分这一问题,所以希望他们将包括它很快,但在那之前引导我任何替代方式来实现这一目标

谢谢

Ali*_*our 2

是的,您可以使用CheckBoxColumn。只需将以下行添加到您的GridViewcolumns 数组中:

[
     'class' => 'yii\grid\CheckboxColumn',
     'name' => 'id'
],
Run Code Online (Sandbox Code Playgroud)

作为Yii2's官方文件:

CheckboxColumncheckboxes在网格视图中显示一列。 要将 a 添加CheckboxColumnyii\grid\GridView,请将其添加到列配置中,如下所示:

'columns' => [
// ...
    [
        'class' => 'yii\grid\CheckboxColumn',
        // you may configure additional properties here
    ],
]
Run Code Online (Sandbox Code Playgroud)

用户可以单击 来checkboxes选择网格的行。可以通过调用以下JavaScript代码来获取选定的行:

var keys = $('#grid').yiiGridView('getSelectedRows');
// keys is an array consisting of the keys associated with the selected rows
Run Code Online (Sandbox Code Playgroud)