TreeGrid: setting data root has no effect

后端 未结 4 783
小蘑菇
小蘑菇 2021-01-20 07:12

I\'m trying to setup a TreeGrid, my data object looks like this:

{
    \"code\": \"success\",
    \"data\": {
        \"text\": \".\",
        \"children\":          


        
4条回答
  •  感动是毒
    2021-01-20 07:41

    I have the same problem in ExtJS 4.2 I try to solve this problem by following code.

    Ext.define('XZSoftware.view.sysconfig.permission.PermissionWindow', {
        extend: 'Ext.window.Window',
        itemid: "sysconfig-permission-window",
        vierConfig: { loadMask: true },
        layout:
        {
            type: "fit"
        },
        minWidth: 400,
        minHeight: 300,
        tree: null,
        treeStore: null,
        initComponent: function () {
            var me = this;
            Ext.log("initComponent()", me);
    
            me.treeStore = Ext.create("Ext.data.TreeStore", {
                proxy: {
                    type: "ajax",
                    actionMethods: { read: "POST" },
                    reader: {
                        type: "json",
                        root: "data"
                    },
                    url: '/permissiontree_load.xzsoftware?o=AAAAACB'
                },
                root: {
                    text: "Premission Tree",
                    expanded: true
                }
            });
    
            me.tree = Ext.create("Ext.tree.Panel", {
                rootVisible: false,
                store: me.treeStore
            });
    
            me.items = [
                me.tree
            ];
    
            this.callParent(arguments);
        },
    
        Version: "1.0.0.0"
    
    });
    

    The JSON will be responsed from HTTP request.

    {
        "total": 17,
        "data": [{
            "data": [{
                "data": [],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "HSBC"
            }, {
                "data": [],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "All IDoc"
            }, {
                "data": [],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "ProCRM"
            }],
            "expanded": true,
            "leaf": "false",
            "checked": false,
            "text": "Application Portal"
        }, {
            "data": [{
                "data": [],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "Order List"
            }, {
                "data": [{
                    "data": [],
                    "expanded": true,
                    "leaf": "true",
                    "checked": false,
                    "text": "Report by monthly total"
                }],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "Order Report"
            }, {
                "data": [],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "Search"
            }],
            "expanded": true,
            "leaf": "false",
            "checked": false,
            "text": "CNMOT - OMS"
        }, {
            "data": [{
                "data": [],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "Company"
            }, {
                "data": [],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "Funcation Setting"
            }, {
                "data": [],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "Menu Setting"
            }, {
                "data": [],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "Page Setting"
            }, {
                "data": [],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "Permission"
            }, {
                "data": [],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "Roles"
            }, {
                "data": [],
                "expanded": true,
                "leaf": "true",
                "checked": false,
                "text": "Users"
            }],
            "expanded": true,
            "leaf": "false",
            "checked": false,
            "text": "System Setting"
        }],
        "success": true,
        "message": "Success"
    }
    

    Notes: 1.Should set root config in TreeStore. 2.The children field in JSON need change to the root config in proxy of store. In my sample "children" set as "data".

提交回复
热议问题