如何从Kendo UI Grid中创建的过滤器中选择所有行?

时间:2019-01-25 15:40:30

标签: jquery jquery-ui kendo-ui kendo-grid

我有这个telerik项目:https://dojo.telerik.com/@blockbaster/axIbuPOs

测试:

  1. 在“库存单位”列中输入值“ 15”。

    ->结果应在2页上显示4个元素。

  2. 单击左上角的“选择所有行”-复选框

    ->仅添加可见元素

The selected product ids are: [26, 7]

目标:执行第1-2点

The selected product ids are: [26, 48, 7, 70]

从网格导出到Excel时,有以下选项:

excel: {
  allPages: true
}

这也有选择吗?

注意:还没有服务器分页。所有数据将立即加载。

1 个答案:

答案 0 :(得分:1)

基本步骤是:

  1. 将Grid的persistSelection配置设置为true。
  2. 使用jQuery选择器预订主复选框的click事件。
  3. 在点击事件处理程序中

    3.1使用Kendo UI数据源的pageSize方法将当前页面大小保存在全局变量中。

    3.2使用pageSize方法显示单个页面上的所有行。

    3.3使用Kendo UI网格的select方法选择所有行。

    3.5使用pageSize方法恢复旧页面大小。

    功能onClick(e){         var grid = $(“#grid”)。data(“ kendoGrid”);

        oldPageSize = grid.dataSource.pageSize();
        grid.dataSource.pageSize(grid.dataSource.data().length);
    
        if (grid.dataSource.data().length === grid.select().length) {
            grid.clearSelection();
        } else {
            grid.select("tr");
        };
    
        grid.dataSource.pageSize(oldPageSize);
    };
    

Telerik在文档here

中提供了一个跨网格页面选择的示例