easyui tree动态传参实现异步加载不同数据源

视图中:

<script>
    var treeInfo;
    $(document).ready(function () {
        treeInfo = $('#treeInfo');
        getTree();
    });

    function getTree() {
        treeInfo.tree({
            url: "/Criteria/ListTree",
            queryParams: { },
            onBeforeLoad: function (node, param) {
                if (node) {
                    param.type = node.tag;
                    param.root = node.isroot;
                }
            }
        });
    }
</script>

<ul id="treeInfo"></ul>

控制器中:

        [HttpPost]
        [Description("总览树")]
        public JsonResult ListTree()
        {
            if (Request.Form["id"] == null)
            {
                #region  初始树
                DataTable dt = new OverViewImpl().GetInitTree();
                List<object> list = new List<object>();
                Hashtable hsInfo = new Hashtable();
                hsInfo.Add("id", "info");
                hsInfo.Add("text", "数据集");
                hsInfo.Add("state", "open");

                Hashtable hsCode = new Hashtable();
                hsCode.Add("id", "code");
                hsCode.Add("text", "代码集");
                hsCode.Add("state", "open");

                List<object> listInfo = new List<object>();
                List<object> listCode = new List<object>();
                foreach (DataRow dr in dt.Rows)
                {
                    string type = dr["type"].ToString();
                    int count = int.Parse(dr["nums"].ToString());
                    string state = count > 0 ? "closed" : "open";

                    Hashtable hs = new Hashtable();
                    hs.Add("id", dr["id"]);
                    hs.Add("text", dr["name"].ToString()+"("+count.ToString()+")");
                    hs.Add("state", state);
                    hs.Add("tag", type);

                    if (type == "info")
                    {
                        listInfo.Add(hs);

                    }
                    else if (type == "code")
                    {
                        listCode.Add(hs);
                    }
                }
                hsInfo.Add("children", listInfo);
                hsCode.Add("children", listCode);
                list.Add(hsInfo);
                list.Add(hsCode);
                return Json(list);
                #endregion
            }
            else
            {
                string id = Request.Form["id"];
                string type = Request.Form["type"];
                //在此可以根据type从不同的表获取数据源
                List<object> list = new List<object>();
                Hashtable hs = new Hashtable();
                hs.Add("id", "ddd");
                hs.Add("text", "测试");
                hs.Add("tag", type);
                hs.Add("state", "open");
                list.Add(hs);
                return Json(list);
            }

        }

实现目的:在树中异步加载不同数据源。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值