MiniUI——TreeGrid懒加载

首先看,前端treegrid的属性配置:

 
序号
业务对象
对象别名
标准编码
坐标类型
排序序号
创建人
数据库来源
表来源
备注

注意哦,相比较一次加载的树表,这里少了parentfield属性


然后呢,就是树的加载方式一定需要按一定的格式和规则进行处理

treegrid加载指向的URL的具体实现如下:

  /// 
        /// 获得指定bot的业务对象信息
        /// 
        /// 
        /// 
        public JsonResult GetBoByBot(string bot)
        {
            var id = Request["ID"];
            if (String.IsNullOrEmpty(id)) id = null;

            //获得下一级节点
            var result = _service.GetBoByBot(bot, id);

            //判断节点,是否有子节点。如果有,则处理isLeaf和expanded。
            for (int i = 0, l = result.Count; i < l; i++)
            {
                var node = result[i];
                node.isLeaf = true;
                node.expanded = true;
                var nodeId = node.ID.ToString();

                var result2 = _service.GetBoByBot(bot, nodeId);

                if (result2.Count > 0)
                {
                    node.isLeaf = false;
                    node.expanded = false;
                }

            }
            return Json(result, JsonRequestBehavior.AllowGet);

        }
注意这里返回的json数据中。必须包含两个字段 isleaf和expanded,用来控制懒加载,只有点击节点的时候该节点才会展开,isleaf用来控制树节点的图标样式


下面是定义的需要返回的模型

  public class BoBaseInfoModel
    {
        public Guid ID { get; set; }

        public Guid? PID { get; set; }

        public string Name { get; set; }
        /// 
        /// 是否为叶子节点
        /// 
        public bool isLeaf { get; set; }
        //是否展开
        public bool expanded { get; set; }
    }

一定需要加两个字段,记住就可以了。


另外查看miniui的树懒加载的demo使用hash表来存储返回的节点参数信息的,这里采用的是模型。经过试验也可以实现。以后就可以采用这种方式来实现数的懒加载。

接下来看一下效果吧!

MiniUI——TreeGrid懒加载_第1张图片

你可能感兴趣的:(错题档案,MiniUI)