bootstrap table跨页全选导出

img


用bootstrap table做了列表,做了分页,现在有一个功能需求是在筛选框筛选后能够点击左上角的全选实现不仅仅是当前页面的全选,还需把后边分页没展示出的也选择上然后传递row id来实现导出功能

代码是现在导出按钮的js

function exportTo(){
    var rows = $('#exampleTable').bootstrapTable('getSelections'); 
    if (rows.length == 0) {
        layer.msg("请选择要导出模板的记录");
        return;
    }
    layer.confirm("确认要导出选中的'" + rows.length + "'条数据吗?", {
        btn : [ '确定', '取消' ]
    // 按钮
    }, function() {
        var ids = new Array();
        // 遍历所有选择的行数据,取每条数据对应的ID
        $.each(rows, function(i, row) {
            ids[i] = row['id'];
        });        
        var str = String(ids);
        location.href = prefix + "/exportExcelUseTemplateRemoveMonth?ids="+str ;
        layer.close(layer.index);
    }, function() {

    });
}

想问有什么好的方法?

服务器端分页的话,需要后台实现导出,给后台传递当前的筛选条件进行导出。下面接口改下,传递查询条件,接口获取条件过滤出数据导出就行
location.href = prefix + "/exportExcelUseTemplateRemoveMonth?ids="+str ;

  • 不想改后台接口,可以用bootstrap-table-export 插件,支持服务器端分页导出。当然配置onLoadSuccess事件,然后自己写js点击分页获取分页数据中的id后传递给上面的接口也行。

  • 或者让后台写一个显示所有数据的接口,通过接口获取数据后用js-xlsx导出

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632