几乎每个‘数人头’项目中都会用到的功能,这里先记下来,以后直接到这里复制代码就行了,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#而已

asp.net 中用easyui中的treegird的简单使用的更多相关文章

  1. Asp.Net中用JS中操作cookie的方法

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="cookies.aspx.cs& ...

  2. ASP.NET MVC 4中如何为不同的浏览器自适应布局和视图

    在ASP.NET MVC 4中,可以很简单地实现针对不同的浏览器自适应布局和视图.这个得归功于MVC中的"约定甚于配置"的设计理念. 默认的自适应 MVC 4自动地为移动设备浏览器 ...

  3. ASP.NET MVC4+EasyUI+EntityFrameWork5权限管理系统——菜单模块的实现(二)

    ASP.NET MVC4+EasyUI+EntityFrameWork5权限管理系统——数据库的设计(一) 菜单和模块是在同一个表中,采用的是树形结构,模块菜单表结构如下代码: USE [Permis ...

  4. easyui 中重复加载两次url

    之前一直在使用easyui中,忽视了官网上的小细节,类似于datagrid.combobox 等组件在使用的时候,它的数据加载方式分为两种: 官网中: ①在html中,比如: <table id ...

  5. ASP.NET MVC +EasyUI 权限设计(二)环境搭建

    请注明转载地址:http://www.cnblogs.com/arhat 今天突然发现博客园出问题了,老魏使用了PC,手机,平板都访问博客园了,都是不能正常的访问,原因是不能加载CSS,也就是不能访问 ...

  6. ASP.NET MVC +EasyUI 权限设计(一)开篇

    在前一段时间中,老魏的确非常的忙碌,Blog基本上没有更新了,非常的抱歉,那么在后面的时间中,老魏会尽量的抽时间来写的,可能时间上就不太富裕了.今天开始呢,老魏会和大家分享一下关于权限设计的有关文章, ...

  7. 对Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架的个人认识

    对Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架的个人认识   初次接触Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架,查阅了相 ...

  8. Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架

    Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架 初次接触Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架,查阅了相关资料,了解了框 ...

  9. ASP.NET Web API中的JSON和XML序列化

    ASP.NET Web API中的JSON和XML序列化 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok ...

随机推荐

  1. ACE中的参数截断工具-truncate

    变量截断工具是将类型A变量赋予类型B变量时使用,可自行判断变量是否需要截断,并且自动进行类型转换. 其全部为c实现 其入口为: ACE_Utils::truncate_cast<int> ...

  2. Yii2框架bootstrap样式理解

    Yii2框架默认採用了bootstrap作为CSS风格,各种视图类组件都如此.之前一直採用默认风格,并在必要的时候加入或者改动一下class来达到目的.但在改版Yii1.1的orange项目时.发现之 ...

  3. 删数问题(NOI94)

    删数问题(NOI94) 输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数.编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小.输出新的正整数.(N不超 ...

  4. 基于Echarts的股票K线图展示

    发布时间:2018-10-31   技术:javascript+html5+canvas   概述 基于echarts的股票K线图展示,只需引用单个插件,通过简单配置,导入数据,即可实现炫酷复杂的K线 ...

  5. BOM介绍

    BOM 浏览器对象模型 BOM (Browser Object Model,浏览器对象模型)提供了通过 JavaScript 访问和控制浏览器窗口(window).显示器(screen)与浏览历史(h ...

  6. ROS学习(十)—— 使用rosed编辑ROS中的文件

    一.rosed 1.作用: 直接编辑一个文件而不需要打开完整路径名 2.语法: rosed [package_name] [filename] 3.如果不知道编译哪个文件名,可以使用tab进行查询 r ...

  7. HDU 4648 Magic Pen 6 (。。。。。。。。。。)

    Magic Pen 6 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total ...

  8. HDU 2208 唉,可爱的小朋友(DFS)

    唉,可爱的小朋友 Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  9. lamp环境服务器配置文档

    服务器配置命令开始(蓝色为输入命令,灰色为反馈内容): Yum update Reboot; yum -y install mysql mysql-server mysql-devel php php ...

  10. IIS状态监测(如果状态错误则重启IIS)

    步骤: 1:建立健康监测文件.文件内容随意,这里以healthcheck.aspx命名,内容是<span>hellow word</span> 2:利用vbs语言执行IIS重启 ...