C#递归类型数据,easyUi下拉树combotree

6 篇文章 0 订阅

html

<input class="easyui-combotree" id="ClassTree" style="width:240px;height:28px;" >

js

/*
 * 设置下拉树为单选
 * 设置下拉树只能选叶子节点,不能选父级节点
 */
$("#comboDepartment").combotree({
     url: 'Ajax/Department/GetDepartmentTreeData.aspx',
     multiple: false,//当为true时,为多选,false为单选
     lines: true,
     checkbox: true,
     onlyLeafCheck: true,//当为多选时,起作用,只允许选择叶子节点
     onSelect: function (node) {//当为单选时,只允许选择叶子节点的设置
         //返回树对象  
         var tree = $(this).tree;
         //选中的节点是否为叶子节点,如果不是叶子节点,清除选中  
         var isLeaf = tree('isLeaf', node.target);
         if (!isLeaf) {
             //清除选中  
             $('#comboDepartment').combotree('clear');
         }
     }
});

$("#btnQuery").click(function () {
    var queryStr = $("#txtQuery").val();
    if (queryStr == null) {
        queryStr = "%";
    }
    var ClassID = $("#ClassTree").combotree('getValues').toString();
    $("#List").datagrid("load", { queryStr: encodeURI(queryStr), ClassID: ClassID });
});
#region 产品类别
[HttpPost]
public JsonResult GetSysYearlyPlanClassList(string id)
{
    string ID = "0";
    if (id != null)
        ID = id;
    List<SysYearlyPlanClassModel> listIndustry = m_SysYearlyPlanClassBLL.GetAll();
    var topItems = listIndustry.Where(e => e.ParentClassID == ID).ToList(); //顶级分类  
    List<SysYearlyPlanClassModel> topModels = new List<SysYearlyPlanClassModel>();
    foreach (var item in topItems)
    {
        GetChildren(listIndustry, item);
        topModels.Add(item);
    }
    var json = (from r in topModels
                select new SysYearlyPlanClassModel()
                {
                    id = r.ClassID,
                    text = r.ClassName,
                    children = r.children
                }).ToArray();
    return Json(json);
}

protected void GetChildren(List<SysYearlyPlanClassModel> allList, SysYearlyPlanClassModel curItem)
{
    var subItems = allList.Where(ee => ee.ParentClassID == curItem.ClassID).ToList();
    curItem.children = new List<SysYearlyPlanClassModel>();
    curItem.children.AddRange(subItems);
    foreach (var subItem in subItems)
    {
        subItem.id = subItem.ClassID;
        subItem.text = subItem.ClassName;
        GetChildren(allList, subItem);
    }
}
#endregion

参考文章
设置easyUi下拉树combotree单选

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值