gpt4 book ai didi

Yii2 Gridview 获取所有分页的所有选定行

转载 作者:行者123 更新时间:2023-12-03 19:58:02 25 4
gpt4 key购买 nike

我用这样的 Pjax 小部件包裹了我的 gridview

 \yii\widgets\Pjax::begin();
gridview
\yii\widgets\Pjax::end();

为了使 gridview 在我点击每个分页时发出 ajax 请求。

我也用 ['class' => 'yii\grid\CheckboxColumn'],在列中也是如此。
我发现当我第一次分页时,我检查了一些行,然后转到第二页并检查了一些行,但是当我回到第一页时,我检查的内容消失了。
我的问题是如何保留所有分页的所有检查行

最佳答案

在当前条件下(Pjax,多页, yii\grid\CheckboxColumn ),由于它的工作方式,这是不可能的。

当您点击分页链接时,所有 GridView html 内容被来自 AJAX 响应的新内容替换。

很明显,上一页上所有选中的复选框都消失了。

解决这个问题的几种可能方法:

1) 编写自定义 javascript 和服务器端逻辑。

作为选项之一,您可以向服务器发送带有参数的 AJAX 请求,这意味着用户已选择为批量删除操作选择所有数据(或使用单独的 Controller 操作进行批量删除)。在这种情况下,实际上我们不需要从用户那里获取选定的数据,因为我们可以简单地从数据库中获取它们(credits - Seng)。

2) 增加每页显示的行数。

3) 使用无限滚动扩展,例如 this .

4) 在几次迭代中中断所需的操作:

  • 在第一页上选择所需的行,执行操作(例如,删除)。
  • 对其他页面再次重复此操作。

  • 您可以像这样获得选定的行:
    $('#your-grid-view').yiiGridView('getSelectedRows');

    关于Yii2 Gridview 获取所有分页的所有选定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30066305/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com