bootstrapTable的父子配置

1.父子表

点击加号出子表上效果图,楼主写了一下午的文章有点累,没写完请谅解

集成配置还不会的请看作者的基础配置文章,这篇文章还在撰写
BootStrapTable的基础配置

上一篇文章的表格加载已经介绍了现在上子表代码
loadTable是加载表格的方法,在加载的时候设置子表

function loadTable(){
    $("#selection-datatable123").bootstrapTable({
        url : '/user/pageList', //请求后台的URL(*)
        method: 'POST',
        contentType:'application/x-www-form-urlencoded; charset=UTF-8',//post请求需设
        sidePagination : "server", //分页方式:client客户端分页,server服务端分页(*)
        pagination : true, //是否显示分页(*)
        detailView: true,
        cache: false,
        clickToSelect: true,//点击行选中
        queryParams :function (params) {
            return {
                pageSize: params.limit,
                pageIndex: params.offset / params.limit + 1
                /*username: $userTableForm.find("input[name='username']").val().trim(),
                 ssex: $userTableForm.find("select[name='ssex']").val(),
                 status: $userTableForm.find("select[name='status']").val()*/
            };
        }, //分页
        /*onClickRow : function(row, tr,flied){
            console.log(row);
        },*/
        pageSize : 5, //每页显示的记录数
        pageNumber : 1, //当前第几页
        pageList : [ 5, 10, 25, 50 ,100 ], //记录数可选列表*/
        responseHandler: function(data){
            return {"rows":data.data.page.records,
                "total": data.data.page.total,//总页数
            }  //约定rows
            //return res.rows;
            //return {};
        },
        idField: 'userId',
        uniqueId : 'userId',
        columns : [
            { field: 'check',  checkbox: true, formatter: function (value, row, index) {
                    if (row.check == true) {
                        // console.log(row.serverName);
                        //设置选中
                        return {  checked: true };
                    }
                }
            },
            /*{field: 'userId',visible: false,uniqueId: true},*/
            {title: '姓名', field: 'username', align: 'center'},
            {title: '性别', field: 'sex', align: 'center',
                formatter: function (value, row, index) {
                    if (value === 0) return '男';
                    if (value === 1) return '女';
                    return '保密';
                }},
            {title: '邮箱', field: 'email', align: 'center'},
            {title: '电话', field: 'mobile', align: 'center'},
            {title: '状态', field: 'status', align: 'center',
                formatter: function (value, row, index) {
                    if (value == 1) {
                        return '<span class="badge badge-success">有效</span>';
                    }else{return '<span class="badge badge-warning">锁定</span>';}
                }},
            {title: '创建时间', field: 'createTime',  align: 'center'},
            {title: '修改时间', field: 'updateTime',  align: 'center'},
            { field: 'operate', title: '操作', align: 'center', events : operateEvents, formatter: 'operateFormatter' },
            /* {title: '操作', align: 'center',formatter: function(value, row, index){

                     /!*'<button type="button" class="btn btn-primary">修改</button>'+*!/
                     return '<button type="button" class="btn btn-primary">查看</button>'+
                         '<button type="button" class="btn btn-primary" >修改</button>'+
                         '<button type="button" class="btn btn-primary" >删除</button>';
                 }}*/
        ] ,
        onExpandRow: function (index, row, $detail) {
            console.log("开始展开子表");
            loadChildTable(index, row, $detail);
        }
    });
};

function loadChildTable(index, row, $detail){
    var child_table = $detail.html('<table></table>').find('table');
    $(child_table).bootstrapTable({url : '/role/getRoleByUserId/'+row.userId, //请求后台的URL(*)
        method: 'POST',
        pagination : false, //是否显示分页(*)
        dataType:'json',
        cache: false,
        clickToSelect: true,//点击行选中
        idField: 'roleId',
        responseHandler: function(data){
            return {"rows":data.data?data.data.data:null,
            }  //约定rows
        },
        columns: [
            {title: '名称', field: 'roleName', align: 'center'},
            {title: '备注', field: 'remark', align: 'center'},
            {title: '创建时间', field: 'createTime',  align: 'center'},
            {title: '修改时间', field: 'updateTime',  align: 'center'},
        ],
    });
};

隔了大半年才写完,一直忘记了,这里的坑主要是版本的问题,版本不对的参考上一篇文章。


版权声明:本文为weixin_43328357原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>