asp.net 中用easyui中的treegird的简单使用
几乎每个‘数人头’项目中都会用到的功能,这里先记下来,以后直接到这里复制代码就行了,ASP.NET MVC中的使用
数据库用户表中的除了有个parentid父级ID外,我还多加了以个字段,parentpath,表示父级路径,把该用户的所有上级ID全都存起来,以,间隔,如用户ID=5的低级路径 为:,1,2,3,4, 最前面加多一个,是为了查询该用户的下级用户总数方便
下面是HTML代码:
@{
ViewBag.Title = "推荐图谱";
}
<link href="~/jquery-easyui-1.5.4.1/themes/default/easyui.css" rel="stylesheet" />
<link href="~/jquery-easyui-1.5.4.1/themes/icon.css" rel="stylesheet" />
<script src="~/jquery-easyui-1.5.4.1/jquery.min.js"></script>
<script src="~/jquery-easyui-1.5.4.1/jquery.easyui.min.js"></script>
<div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
<ul class="layui-tab-title">
<li class="layui-this">@ViewBag.Title</li>
</ul>
</div>
<table title="推荐图谱" class="easyui-treegrid" style="width:700px;height:300px"
url="/Userinfo/TJTuPu_Ajax"
rownumbers="true"
idField="id" treeField="username">
<thead>
<tr>
<th field="username">用户名</th>
<th field="regdate">注册时间</th>
<th field="xjcount" >下级总数</th>
</tr>
</thead>
</table>
下面是相应的后台代码:
//推荐图谱-取数据
public ActionResult TJTuPu_Ajax(int? id)
{
ArrayList arr = new ArrayList();
if (id == null)
{
//取自己
Model.Userinfo u = base.GetLoginUser();
int xjcount = udal.CalcCount($"parentpath like '%,{u.id},%'");
string state = xjcount == 0 ? "open" : "closed";
arr.Add(new { id = u.id, username = u.username, regdate =
u.createtime.ToString("yyyy-MM-dd"), xjcount = xjcount, state = state,
});
}
else
{
//根据ID取下一级
List<Model.Userinfo> list_u = udal.GetListArray($"parentid={id.Value}");
foreach (var u in list_u)
{
int xjcount = udal.CalcCount($"parentpath like '%,{u.id},%'");
string state = xjcount == 0 ? "open" : "closed";
arr.Add(new { id = u.id, username = u.username,
regdate = u.createtime.ToString("yyyy-MM-dd"), xjcount = xjcount, state =
state, });
}
}
return Json(arr);
}
其实以上的代码都是直接从easyui官网上的demo里复制出来的,我只是把他的后台php示例代码改为了c#而已
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2010-02-02 自己封装的ASP.NET的SQLITE数据库的操作类