jQuery MiniUI

标题: TreeGrid动态加载列 [打印本页]

作者: phinxe    时间: 2019-4-15 15:01:16     标题: TreeGrid动态加载列

html代码:<div id="treeGrid"></div>js代码:var columns = [
    {type: 'indexcolumn'},
    {field: 'menuName', header: '菜单名称', width: 'auto'},
    {field: 'menuType', header: '类型', width: 50},
    {field: 'orderNum', header: '排序', align: 'center', width: 48},
    {field: 'url', header: '地址'},
    {field: 'perms', header: '权限标示'},
    {field: 'action', header: '操作', align: 'center'}
];
// 2、这里为grid赋值数据,只有这里成功了后面的调用才能成功。
grid = risk.setTreeGrid({
    id: 'treeGrid',
    options: {
        ajaxType: 'get',
        treeColumn:'menuName',
        url: basePath + risk.getArrayItem(axios, 'key', 'list').url,
        columns: columns
    }
});setTreeGrid: function (grid) {
    var defaults = {
        url: '',
        style: 'width:100%;height:400px;',
        id: 'asyncDataGrid',
        ajaxType: 'get',
        columns: [],
        multiSelect: true,
        expandOnLoad: true,
        allowResize: true,
        allowCellEdit: true,
        allowCellSelect: true,
        allowRowSelect: true,
        showPager: false,
        showExpandButtons:true
    };
    var options = $.extend(defaults, grid.options);
    //动态创建表格
    var _grid = new mini.TreeGrid();
    var _url = options.url;
    delete options.url;
    _grid.set(options)
    _grid.render(document.getElementById(grid.id));
    var treeList = risk.httpGet(_url).map(function (t) {
        delete t.visible
        return t
    });

    _grid.loadList(treeList,'id','parentId');
    console.log(_grid.getRootNode())
    return _grid;
}最终表格数据都有了,但是treeColumn不生效,没有树结构。[attach]12120[/attach]

作者: dforce    时间: 2019-4-15 15:18:01

menuName需要对应一列的name,不是field,设置一下name
作者: phinxe    时间: 2019-4-15 16:21:13

dforce 发表于 2019-4-15 15:18
menuName需要对应一列的name,不是field,设置一下name

感谢大佬,已经按指示完美解决问题。




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2