easyui的combotree以及tree,c#后台异步加载的详细介绍
发布日期:2021-08-26 17:46:48 浏览次数:13 分类:技术文章

本文共 1624 字,大约阅读时间需要 5 分钟。

<p>

前端页面js:就是这么简单暴力

///获取combotree的方法

function GetTree() {
$("#tree").combotree({

width: 175,

url: '/OrganizationManager/Permission/GetTree',
valueField: 'id',
textField: 'text',
editable: false
});

}

控制器以及数据访问层:

public JsonResult GetTree()

{

string parentNodeId = Request["id"] ?? null;//easyui 会每展开一个节点,往后端传一个·id

if (string.IsNullOrEmpty(parentNodeId))

{
parentNodeId = "0";
}
List<Model.RunUI.TreeModule> Toptree = bllper.GetSubNodes(parentNodeId);

return Json(Toptree, JsonRequestBehavior.AllowGet);

}

/// <summary>

/// * 获取菜单的树的方法*
/// </summary>
/// <param name="parentNodeId"></param>
/// <returns></returns>
public List<Model.RunUI.TreeModule> GetSubNodes(string parentNodeId)
{
string sql = "select * from Per_Module ";
DataTable dt = DbHelperSQL.Query(sql).Tables[0];
List<Model.RunUI.TreeModule> Tree = new List<Model.RunUI.TreeModule>();
Model.RunUI.TreeModule TM = null;
if (dt != null && dt.Rows.Count > 0)
{
DataRow[] rows = dt.Select("ParentModuleID ='" + parentNodeId + "'");

foreach (DataRow item in rows)

{
string id = item["ModuleID"].ToString();
string text = item["Name"].ToString();
TM = new TreeModule();

DataRow[] IsNulRows = dt.Select("ParentModuleID ='" + id + "'");

if (IsNulRows.Length > 0)

{
TM.state = "closed";//这个很关键,此节点为closed状态,才可以展开,才能往后台传你点击的id  看到Combotree的异步加载Demo,发现treegrid_data.json中 state="closed" 属性能把点击展开的节点Id传到后台中
}

TM.id = id;

TM.text = text;

Tree.Add(TM);

}
}
return Tree;
}

 

model:类:

public class TreeModule
{

public string id { get; set; }

public string text { get; set; }

public string state { get; set; }

}

就是这么简单暴力

</P>

转载于:https://www.cnblogs.com/fuyanzheng/p/5842126.html

转载地址:https://blog.csdn.net/weixin_33893473/article/details/93887950 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:C# string函数
下一篇:DEDE自带的采集功能,标题太短的解决方法

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年02月10日 17时12分00秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章