EasyUI ComboTree 递归绑定详解

 


html代码:
 <input id="Series" name="Series" class="easyui-combotree"  method='get'/> 

 


js代码:

$(document).ready(function () { $('#Series').combotree({ //需要返回的json格式 //data: [ // { // "id": "222", "text": "黑色系列", // "children": [ // { "id": "280", "text": "黑1"}, // { "id": "282", "text": "黑2"} // ] // }, // { // "id": "225", "text": "白色系列", // "children": [{ "id": "281", "text": "白1" }, // { "id": "283", "text": "白2" } // ] // }], //请求数据的一般处理程序的路径 url: getRootPath() + '/handler/Page/Product/ProductClassify.ashx?action=MList', multiple: false,//是否有多选框 lines: true//选项前是否显示虚线 }); });

一般处理程序:
<%@ WebHandler Language="C#" Class="ProductClassify" %>

using System;
using System.Web;
using System.Data;
using System.Text;
using System.Web.Script.Serialization;

public class ProductClassify : IHttpHandler {
    HttpContext Context = null;
    JiaSoft.BLL.Classify_BLL PClassiyList = new JiaSoft.BLL.Classify_BLL();
    public void ProcessRequest (HttpContext context) {
        Context = context;
        string action = context.Request["action"].ToString();
        responseAction(action);
    }
    private void responseAction(string action)
    {
       if (action.Equals("MList"))  //获得多级列表
        {
            InitComboTree(Context, PClassiyList);
                     
        }
    }
    //初始化ComboTree数据
    public void InitComboTree(HttpContext context, JiaSoft.BLL.Classify_BLL PClassiyList)
    {
            DataTable dt;
            System.Text.StringBuilder sb = new System.Text.StringBuilder(); 
       //数据库设计名称、id、父类id 初始化先获取父类id=0的数据集,返回数据是DataTable类型 dt
= PClassiyList.GetList(" Mtype=102 and ParentID=0 ").Tables[0]; string sbs =string.Empty; if (dt == null) { sbs= "[]"; } StringBuilder builder = new StringBuilder(); builder.Append("["); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { builder.Append("{"); builder.Append("\"id\":" + new JavaScriptSerializer().Serialize(dt.Rows[i]["ClassifyID"].ToString())); builder.Append(","); builder.Append("\"text\":" + new JavaScriptSerializer().Serialize(dt.Rows[i]["CodeName"].ToString())); builder.Append(",");
            //调用递归方法 builder
= InitChild(builder, dt.Rows[i]["ClassifyID"].ToString(), PClassiyList); builder.Append("}"); if (i < (dt.Rows.Count - 1)) { builder.Append(","); } } } builder.Append("]"); sbs = builder.ToString(); Context.Response.Write(sbs); } //递归子类 public StringBuilder InitChild(StringBuilder builder, string parentID, JiaSoft.BLL.Classify_BLL PClassiyList) { DataTable dt = PClassiyList.GetList(" Mtype=102 and ParentID=" + parentID ).Tables[0]; if (dt == null) { builder.Append(""); } builder.Append("\"children\":["); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { builder.Append("{"); builder.Append("\"id\":" + new JavaScriptSerializer().Serialize(dt.Rows[i]["ClassifyID"].ToString())); builder.Append(","); builder.Append("\"text\":" + new JavaScriptSerializer().Serialize(dt.Rows[i]["CodeName"].ToString())); builder.Append(","); builder = InitChild(builder, dt.Rows[i]["ClassifyID"].ToString(), PClassiyList); builder.Append("}"); if (i < (dt.Rows.Count - 1)) { builder.Append(","); } } } builder.Append("]"); return builder; } public bool IsReusable { get { return false; } } }

效果图:

 
  

 

 

 

转载于:https://www.cnblogs.com/yutopipp/p/ComboTree.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值