MVC程序EasyUi之combotree读取json数据


分析tree_data.json 书写类 NewsClassJson

    /// <summary>
    /// 构建Json数据源的数据格式,属性有id,test,children,这里名字不能够更改否则不能够读取出来
    /// </summary>
    public class NewsClassJson
    {    /// <summary> 
        /// ID
        /// </summary>
        public int id { get; set; }
        /// <summary>
        /// 分类
        /// </summary>
        public string text { get; set; }
        
        /// 子类
        /// </summary>
        public List<NewsClassJson> children { get; set; }
        /// <summary>
        /// 父ID
        /// </summary>
        public int ParentId { get; set; }
        
    }

 

递归将NewsClassJson转化为适合jquery easy ui 控件tree ,combotree 的 json

 1        /// <summary>
 2         /// 递归
 3         /// </summary>
 4         /// <param name="list"></param>
 5         /// <returns></returns>
 6         //
 7         public List<NewsClassJson> LinqJsonTree(int parentId)
 8         {
 9             List<Ecms_News_Class> classlist = _DbSession.Ecms_News_ClassRepository.LoadEntities(item => item.ParentId == parentId).ToList();
10 
11             List<NewsClassJson> jsonData = new List<NewsClassJson>();
12             classlist.ForEach(item =>
13             {
14                 jsonData.Add(new NewsClassJson
15                 {
16                     id = item.ClassId,
17                     children = LinqJsonTree(item.ClassId),
18                     ParentId = item.ParentId,
19                     text = item.ClassName,
20 
21                 });
22             });
23 
24 
25             return jsonData;
26         }

 

前台调用

 1      //绑定类别下拉列表
 2         function BindClass() {
 3           
 4             $('#drpclass').combotree({
 5                 url: '/Category/Bind',
 6                 valueField: 'ClassId',
 7                 textField: 'ClassName',
 8                 multiple: true,
 9                 editable: false,
10                 method: 'get',
11                 panelHeight: 'auto',
12                 checkbox: true,
13                 //required: true,
14                 //全部折叠
15                 onLoadSuccess: function (node, data) {
16                     $('#drpclass').combotree('tree').tree("collapseAll");
17                 },
18             });
19             
20         }

效果如图:

 

参考:别样的构建层级json字符串

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM