Easyui 树控件的学习 方便以后自己查看 .net mvc

2017/12/20

树的生成是依靠多次发送异步请求完成的

Easyui Tree  的js如下:

html代码:

 <div class="easyui-panel" style="padding:5px">
                <ul id="tt"  class="easyui-tree" ></ul>
            </div>



  $(function(){           //页面加载就启动

            $('#tt').tree({

                url: '@Url.Action("TreeTest","GoodsSort")',

                animate: true,//定义当节点展开折叠时是否显示动画效果类型:bool    

                lines: true,//定义是否显示树线条

                queryParams: {hhh:'hhh'},//附加数据

                onBeforeLoad: function (node, param)//发送前操作,其中 param是发送到.net后台的数据

                {

                    if (node) {                 //用Request.Form["MenuId"]可以收到param.MenuId

                        param.MenuId = node.id;

                    }

                },

                onLoadSuccess: function (node, data) {//当数据加载成功时触发。

                    var t = $(this);

                    if (data) {

                        $(data).each(function (index, d) {

                            if (this.state =='closed') {    //判断节的状态如果有一个是关闭

                                t.tree('expandAll');       //打开所有的节

                            }                              //节的打开会重复访问本方法直到加载完所有的节

                        });

                    }

                }

            })

        })

sql server 表情况:




.net代码:

 public ActionResult TreeTest()

        {

            ArrayList str = new ArrayList();

            var MenuId = Request.Form["MenuId"];

            List<GgoodSort> sortlist =new List<GgoodSort>();

            using (RepositoriesContext db=new RepositoriesContext())

            {

                sortlist= db.GgoodSort.GetAll().ToList();//获得表中所有数据

            }

            if (MenuId==null)//如果节点id==null,遍历所有PartentGoodTypeId为Guid.Empty的数据

            {

                foreach (var itemin sortlist.Where(x=>x.PartentGoodTypeId==Guid.Empty).ToList())

                {

                    str.Add(new EmployeeTree  //将符合条件的添加到 ArrayList中

                    {

                       id=item.GoodTypeId,

                       text=item.Title,

                       state= sortlist.FirstOrDefault(x=>x.PartentGoodTypeId==item.GoodTypeId)==null?"open" :"closed",

                    });

                }

            }

            else//如果节点id存在,遍历所有PartentGoodTypeId为MenuId的数据

            {

                foreach (var itemin sortlist.Where(x=>x.PartentGoodTypeId.ToString()==MenuId).ToList())

                {//将符合条件的添加到 ArrayList中

                    str.Add(new EmployeeTree { id=item.GoodTypeId,

                        text=item.Title,

                        state=sortlist.FirstOrDefault(x=>x.PartentGoodTypeId==item.GoodTypeId)==null?"open" :"closed",

                    });

                }

            }//返回 ArrayList

            return Json(str, JsonRequestBehavior.AllowGet);

        }

 

实体类:

 public class EmployeeTree

    {

        public Guid? id {get;set; }//编号  

        public String text {get;set; }//显示值  

        public string state {get;set; }

        public bool check {get;set; }//是否选中  

     

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值