bootstrap table获取数据为空时重新加载表格不显示之前的数据

当bootstrap table 获取数据为空时,我们不想显示之前的数据,那么调用bootstrap table 的onLoadSuccess方法:

onLoadSuccess: function (data) {
                var allTableData = $('#bootstrap-table').bootstrapTable('getData');
                if((isEmptyForObject(data) || data.total === 0 || isEmptyForObject(data.rows)) && allTableData.length > 0){
                    $("#bootstrap-table").bootstrapTable('destroy');
                    $.table.init(options);
                }
            }
function isEmptyForObject(object) {
    if (object === null || object === undefined) {
        return true;
    }
    return false;
}

$.table.init(options);  这里是初始化方法的调用,这里你只需要替换成重新加载表格就可以了,一般我们将初始化表格写在一个方法体中,然后调用这个方法实现初始化,所以调用这个初始化表格的方法,就可以实现表格的重新加载初始化。

例如:

var TableInit = function () {
        $('#bootstrap-table').bootstrapTable({
            url: '/Interface/GetData',         //请求后台的URL(*)
            method: 'get',                      //请求方式(*)
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
            pagination: true,                   //是否显示分页(*)
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数(*)
            sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
            pageNumber: 1,                       //初始化加载第一页,默认第一页
            pageSize: 10,                       //每页的记录行数(*)
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数(*)
            search: true,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
            contentType: "application/x-www-form-urlencoded",
            strictSearch: true,
            showColumns: true,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 700,                        //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
            uniqueId: "no",                     //每一行的唯一标识,一般为主键列
            showToggle: true,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [
            {
               field: 'ID',
               title: 'ID'
            }, {
               field: 'Name',
               title: '名字'
           }, {
               field: 'Sex',
               title: '性别'
            },
            {
               field: 'operate',
               title: '操作',
               formatter: operateFormatter //自定义方法,添加操作按钮
            }],
            onLoadSuccess: function (data) {
                var allTableData = $('#bootstrap-table').bootstrapTable('getData');
                if((isEmptyForObject(data) || data.total === 0 ||             isEmptyForObject(data.rows)) && allTableData.length > 0){
                    $("#bootstrap-table").bootstrapTable('destroy');
                    TableInit();
                }
            }
        });

    };

初始化调用:

TableInit();

 

你可能感兴趣的:(前端框架)