• mobile easyui兼容实体数据(tree插件为例)


    ORM的实体类和数据库的类是一一对应的,如果有多级的嵌套循环json返回到前台为了方便展示可以使用mobile easyui,但是mobile easyui又需要特定的属性才可以,比如id,text,attrubule这样的属性,这时候可以通过前端JS递归去重新赋予jSON数组新属性,例如:

    [{
            "CC": "",
            "DeleteFlag": 0,
            "Id": "1",
            "Manager": "z",
            "ParentCode": null,
            "ParentId": null,
            "ProCode": "1",
            "ProID": "1111111",
            "ProLevel": 1,
            "ProName": "222222222",
            "SuspendTime": null,
            "children": [{
                    "CC": "",
                    "DeleteFlag": 0,
                    "Id": "33333333",
                    "Manager": "y",
                    "ParentCode": "44444444",
                    "ParentId": "asdsadsad",
                    "ProCode": "asdsad",
                    "ProID": "dfdsfdfdf",
                    "ProLevel": 2,
                    "ProName": "xcvxcvxcv",
                    "SuspendTime": null,
                    "children": [{
                            "CC": null,
                            "DeleteFlag": 0,
                            "Id": "xcvxcvxcvxcvsewefrwghryhrty",
                            "Manager": "yem",
                            "ParentCode": "cvbcvbcvfbd",
                            "ParentId": "xcvbcvndfgtbdr",
                            "ProCode": "cxvcbdrgher",
                            "ProID": "1541654656",
                            "ProLevel": 3,
                            "ProName": "234234324234",
                            "SuspendTime": null,
                            "children": null
                        }]
    }]
    }]

    可以转换成:

    function GetNode(array) {
        for (var i = 0; i < array.length; i++) {
            array[i].id = array[i].Id;
            array[i].text = array[i].ProName;
            array[i].attributes = [];
            //平级属性加入到easyui指定的属性集合
            array[i].attributes.push({ "CC": array[i].CC });
            array[i].attributes.push({ "DeleteFlag": array[i].DeleteFlag });
            array[i].attributes.push({ "Manager": array[i].Manager });
            array[i].attributes.push({ "ParentCode": array[i].ParentCode });
            array[i].attributes.push({ "ParentId": array[i].ParentId });
            array[i].attributes.push({ "ProID": array[i].ProID });
            array[i].attributes.push({ "ProLevel": array[i].ProLevel });
            array[i].attributes.push({ "ProName": array[i].ProName });
            array[i].attributes.push({ "SuspendTime": array[i].SuspendTime });
            array[i].attributes.push({ "ProCode": array[i].ProCode });
            //删除原有的平级属性
            delete array[i].Id;
            delete array[i].CC;
            delete array[i].DeleteFlag;
            delete array[i].Manager;
            delete array[i].ParentCode;
            delete array[i].ParentId;
            delete array[i].ProID;
            delete array[i].ProLevel;
            delete array[i].ProName;
            delete array[i].SuspendTime;
            delete array[i].ProCode;
            //继续递归子集合
            if (array[i].children&&array[i].children.length > 0) {
                GetNode(array[i].children, array);
            } else {
                continue;
            }
        }
    
    }

    最后使用

    $('.tree').tree({
                    data: 转换后的数组
                });

    大功告成

  • 相关阅读:
    PHP函数---$_Get()和$_Post()的用法
    python mysqldb 教程
    python+ mysql存储二进制流的方式
    Android项目 手机安全卫士(代码最全,注释最详细)之七 应用程序的更新安装
    约瑟夫环的两种实现
    80386的各种寄存器一览
    hdu 4741 Save Labman No.004 [2013年杭州ACM网络赛]
    物理DG主备库切换时遇到ORA-16139: media recovery required错误
    c# 获取全屏 中鼠标焦点的位置坐标
    hdu 4738 Caocao's Bridges(2013杭州网络赛丶神坑)
  • 原文地址:https://www.cnblogs.com/llcdbk/p/10083816.html
Copyright © 2020-2023  润新知