zoukankan      html  css  js  c++  java
  • EXTJS 4.0 + MVC 实现Tree菜单显示

    Ext.require([
                'Ext.tree.*',
                'Ext.data.*'
            ]);
            Ext.onReady(function () {
                var store = Ext.create('Ext.data.TreeStore', {
                    proxy: {
                        type: 'ajax',
                        url: '/Home/LoadTree'
                    },
                    root: {
                        expanded: true,
                        text: "root",
                        user: "",
                        status: "",
                        id: "0"
                    }
                });
                var tree = Ext.create('Ext.tree.Panel', {
                    title: 'Simple Tree',
                    200,
                    autoHeight: true,
                    store: store,
                    rootVisible: false,
                    renderTo: Ext.getBody()
                });
                //用于选中某一项时实现跳转
                tree.on("itemclick", function (view, record, item, index, e) {
                    //选中叶子节点时才跳转,可根据需求而定
                    if (record.raw.leaf)
                        location.href = "Index.aspx?id=" + record.raw.id;
                });

         

        //后台处理

        [HttpGet]

                public void LoadTree()            

        {              

             int node = 0;      

                    // 一次性加载所有数据

                     var list = from item in dc.Member where item.Father == node select item;

                     sb.Append("[");

                     if (list != null && list.Count() > 0)       

               {         

                    //也可添加href:'链接'来实现跳转     

                      foreach (Models.Member item in list)

                        {     

                          sb.Append( ",{ text : '" + item.MemberName + "',id : " + item.MemberId);     

                          GetTree(item.MemberId);       

                         sb.Append(" } ");

                        }        

                  }         

                sb.Append("]");      

               sb = sb.Replace("[,", "[");       

                Response.Write(sb);     

                Response.End();         

        }

                public void GetTree(int id)    

              {          

              var list = from item in dc.Member where item.Father == id select item;          

              if(list == null || list.Count() <=0  )       

              {                

                 sb.Append(", leaf : true");       

                     return;      

                }              

           sb.Append(", expanded : true, children : [");   

                     foreach (Models.Member item in list)               

          {                  

              sb.Append(",{ text : '" + item.MemberName + "', id : " + item.MemberId);

                         GetTree(item.MemberId);              

                 sb.Append(" } ");  

                     }           

                     sb.Append("]");      

           } 

       最终效果为:

      

      

  • 相关阅读:
    httprunner学习-参数化与数据驱动
    httprunner学习4-variables变量声明与引用
    httprunner学习3-extract提取token值参数关联(上个接口返回的token,传给下个接口请求参数)
    HttpRunner基础使用一:环境安装
    yml运行时报错SSL: CERTIFICATE_VERIFY_FAILED 解决verify设置False.
    Selenium+Python日期控件小案例
    使用Navicat Keygen激活(破解)Navicat Premium 12
    robotframework(rf)中对时间操作的datetime库常用关键字
    【Selenium】不同chrome版本对应的chrome驱动版本
    1、jmeter工具&soapui工具做接口测试
  • 原文地址:https://www.cnblogs.com/jdk123456/p/3110899.html
Copyright © 2011-2022 走看看