当前位置 : 主页 > 网页制作 > Bootstarp >

bootstrapTable treegrid的使用

来源:互联网 收集:自由互联 发布时间:2021-06-12
最近打算自己弄一个后台,在整顿树形插件的时候,遇到问题,bootstrapTable treegrid最开始是怎么都显示不了树形,然后是数据出不来, 现在来记录下. 问题1:最开始怎么都显示不出来的问题,是因

最近打算自己弄一个后台,在整顿树形插件的时候,遇到问题,bootstrapTable treegrid最开始是怎么都显示不了树形,然后是数据出不来,

现在来记录下.

问题1:最开始怎么都显示不出来的问题,是因为 bootstrap-table.min.css 的问题.替换后OK了

问题2:数据不出来的问题,因为返回的数据格式不对.

$(#exampleTable)
        .bootstrapTable(
            {
                type : "GET",
                url : prefix + "/list", // 服务器数据的加载地址
                idField: menuId,
                dataType: json,
                responseHandler: function (res) {
                    //将服务端你的数据转换成bootstrap table 能接收的类型
                    return {
                        "data": res.list   //数据
                    };
                },
                // //请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 toolbar 中的参数 如果
                // queryParamsType = ‘limit‘ ,返回参数必须包含
                // limit, offset, search, sort, order 否则, 需要包含:
                // pageSize, pageNumber, searchText, sortName,
                // sortOrder.
                // 返回false将会终止请求
                columns: [
                    {
                        field: check, checkbox: true, formatter: function (value, row, index) {
                            if (row.check == true) {
                                // console.log(row.serverName);
                                //设置选中
                                return {checked: true};
                            }
                        }
                    },
                    {field: name, title: 名称},
                    // {field: ‘id‘, title: ‘编号‘, sortable: true, align: ‘center‘},
                    // {field: ‘pid‘, title: ‘所属上级‘},
                    {field: status, title: 状态, sortable: true, align: center, formatter: statusFormatter},
                  /*  {field: ‘permissionValue‘, title: ‘权限值‘},
                    {
                        field: ‘operate‘,
                        title: ‘操作‘,
                        align: ‘center‘,
                        events: operateEvents,
                        formatter: ‘operateFormatter‘
                    }*/],

                // bootstrap-table-treegrid.js 插件配置 -- start
                //在哪一列展开树形
                treeShowField: name,
                //指定父id列
                parentIdField: parentId, onResetView: function (data) {
                    //console.log(‘load‘);
                    $table.treegrid({
                        initialState: collapsed,// 所有节点都折叠
                        // initialState: ‘expanded‘,// 所有节点都展开,默认展开
                        treeColumn: 1,
                        // expanderExpandedClass: ‘glyphicon glyphicon-minus‘,  //图标样式
                        // expanderCollapsedClass: ‘glyphicon glyphicon-plus‘,
                        onChange: function () {
                            $table.bootstrapTable(resetWidth);
                        }
                    });

                    //只展开树形的第一级节点
                    $table.treegrid(getRootNodes).treegrid(expand);

                },
                onCheck: function (row) {
                    var datas = $table.bootstrapTable(getData);
                    // 勾选子类
                    selectChilds(datas, row, "id", "parentId", true);

                    // 勾选父类
                    selectParentChecked(datas, row, "id", "parentId")

                    // 刷新数据
                    $table.bootstrapTable(load, datas);
                },

                onUncheck: function (row) {
                    var datas = $table.bootstrapTable(getData);
                    selectChilds(datas, row, "id", "parentId", false);
                    $table.bootstrapTable(load, datas);
                }
                // bootstrap-table-treetreegrid.js 插件配置 -- end
            });

因为是封装的数据,返回的和控件要求的对不上,所以得转一下.

网友评论