不多说了直接上代码,

$('#List').treegrid({
url: '@Url.Action("GetList")',
width: $(window).width() - 10,
methord: 'post',
height: $(window).height() - 35,
fitColumns: true,
treeField: 'Name',
idField: 'Id',
pagination: false,
striped: true, //奇偶行是否区分
singleSelect: true,//单选模式
//rownumbers: true,//行号
columns: [[
{ field: 'Id', title: 'ID', width: 80,hidden:true },
{ field: 'Name', title: '名称', width: 400, sortable: true },
{ field: 'DutyName', title: '团队名称', width: 80,sortable:true ,hidden:true},
{ field: 'Remark', title: '说明', width: 80, sortable: true, hidden: true },
{ field: 'CreateTime', title: '创建时间', width: 80, sortable: true, hidden: true },
{ field: 'CreatePerson', title: '创建人员', width: 80, sortable: true, hidden: true },
{field: 'Enable', title: '是否启用', width: '60', align: 'center', hidden: true},
{ field: 'ParentId', title: '父级Id', width: 80, sortable: true, hidden: true },
{ field: 'DepartmentId', title: '部门Id', width: 80, sortable: true, hidden: true },
{ field: 'IsLast', title: '是否为空', width: 80, sortable: true, hidden: true }
]]
});

这个整个treeGrid  的JS代码其中3-9是团队人员表的数据,第十条是部门表的数据,1-2是两个表共有的数据。

1-2条是这个的主要部分,因为只有field一样两个表的数据才能绑定上,后台区分是根据传到后台的Id

[HttpPost]
public JsonResult GetList(string id)
{
//根据Id区分部门表和团队人员表信息进行展示树状图(投机取巧:使团队表和部门表的名称Name一样使能够在前台展示出组合网格)
id = id ?? "0";
List<SysStructModel> modellist = S_BLL.GetByParentId(id);
if (modellist.Count()>0)
{
//List<SysStructModel> list = S_BLL.GetByParentId(id);
var json = from r in modellist
select new SysStructModel()
{
Id = r.Id,
Name = r.Name,
ParentId = r.ParentId,
Sort = r.Sort,
Higher = r.Higher,
Enable = r.Enable,
Remark = r.Remark,
CreateTime = r.CreateTime,
state = (S_BLL.GetByParentId(r.Id).Count() > 0||m_BLL.GetList(r.Id).Count() > 0) ? "closed" : "open",
IsLast = r.IsLast
};

return Json(json);
}
else
{
List<Cst_PersonnelModel> list = m_BLL.GetList(id);
var json = (from r in list
select new Cst_PersonnelModel()
{
Id = r.Id,
Name =r.DutyName+r.Name+"-"+"["+r.Remark+"]",
DutyName = r.DutyName,
Remark = r.Remark,
CreateTime = r.CreateTime,
CreatePerson = r.CreatePerson,
ParentId = r.ParentId,
DepartmentId = r.DepartmentId,
Sort = r.Sort,
Enable = r.Enable,
state = m_BLL.GetparentById(r.Id).Count() > 0 ? "closed" : "open",
IsLast=null
}).ToArray();
return Json(json);
}

}

这样的话就能够很好的在前台展现出两个表联合的treeGrid了,总感觉这样功能是出来,但是感觉很不太对,如果您有其他更好的方法请留言。

学习日记3、投机取巧使两个表的数据同时在一个treeGrid中显示的更多相关文章

  1. SQL 统计两个表的数据,按同一日期分组

    思路:把两个表的数据按日期整合到临时表在按日期分组,求和. 例子: SELECT t.dateTime AS '日期',SUM(t.money) AS '表1利息',SUM(t.interest) A ...

  2. 关于跨DB增量(增、改)同步两张表的数据小技巧

    有些场景下,需要隔离不同的DB,彼此DB之间不能互相访问,但实际的业务场景又需要从A DB访问B DB的情形,这时怎么办?我认为有如下常规的三种方案: 1.双方提供RESET API,需要访问不同DB ...

  3. 转 A 、B两张表,找出ID字段中,存在A表,但是不存在B表的数据

    A.B两张表,找出ID字段中,存在A表,但是不存在B表的数据,A表总共13W数据,去重后大约3万条数据,B表有2W条数据,且B表的ID有索引. 方法一 使用not in,容易理解,效率低. selec ...

  4. Django之同时新增数据到两个数据库表与同时返回两个表的数据(插拔式)

    models:比如有以下三个模型 from django.db import models """ 基类,其他类继承即可获得对应的字段 """ ...

  5. ADO.NET事务处理,初始回调函数,多张表的数据在同一个DataGridView中展示

    执行ADO.NET事务包含四个步骤,接下来以Transaction对象为例介绍. (1)调用SQLConnection对象的BeginTransaction()方法,创建一个SQLTransactio ...

  6. SQL联合查询两个表的数据

    刚有个项目,需要查询水位数据表中的水位信息,及查询降雨量表中统计时段降雨量的数据,以计算出日降雨量,而且时段是前一天8时到后一天8时总共24个小时. 两个子查询: 1.根据当前时间判断统计前天8时到今 ...

  7. 【转】mysql 触发器实现两个表的数据同步

    mysql通过触发器实现两个表的同步 目前,在本地测试成功. 假设本地的两个数据库a和b,a下有表table1(id, val) b下有表table2(id, val) 假设希望当table1中数据更 ...

  8. SQL如何查询两个表的数据

    在进行查询操作时,我们通常需要查询两个关联表的数据,我们可以使用where语句进行查询,如: select Emp.E_Id,Company.C_OraName from Emp,Company wh ...

  9. django同时查询两张表的数据,合并检索对象返回

    原始需求: 1.一篇文章内容分N个版块,每篇文章的版块数量不同. 2.有个文章搜索功能,需要同时搜索标题和内容. 实现思路: 1.由于每篇文章的内容版块数量不同,因此将每个文章的标题和内容分开存入2张 ...

随机推荐

  1. 一个有关Golang Deferred Function 执行顺序的问题

    先看一下一段关于defer的解释, 引自<Go程序设计语言> Syntactically, a defer statement is an ordinary function or met ...

  2. JDBC 国际标准时间

    mysql.driver=com.mysql.cj.jdbc.Drivermysql.url=jdbc:mysql://localhost:3306/XXXX?characterEncoding=UT ...

  3. gitlab上传代码及报错总结

    将目录变成git可管理的仓库 git init 将文件添加到暂存区中 git add README.md 将文件提交到仓库 git commit -m "fisrt commit" ...

  4. 百度文档,用Python一键免费下载

    百度文库下载需要券,或者vip才能下载 Vip价格高,偶尔下载一次不划算. 不下载复制?不好意思复制也需要vip否则只能一次复制两行. 如何才能以最低成本获取到百度文库里的文档内容呢? 当然是用Pyt ...

  5. 小白学Python(16)——pyecharts 绘制地理图表 Geo

    Geo-基本示例 from example.commons import Faker from pyecharts import options as opts from pyecharts.char ...

  6. vue-multi-tab--一个让你在SPA里使用多页签的框架页

    介绍 vue-multi-tab 是一套基于 vue 和 element-ui 的 , 实现了 tab-router (一个基于 tab 的路由) 的 单页面, 多页签 应用程序. 我之前写这个项目的 ...

  7. 利用vsftpd在Linux构建安全的FTP服务

    最近在机房搭建Linux环境,需要用到了FTP服务,查看了许多的资料,在这里做一下笔记 一.安装 方法一,使用yum命令安装,需要能够连接外网 # yum install vsftpd 方法二,使用安 ...

  8. 解决Vscode编辑器不能打开多标签页问题

    问题描述:编辑代码时,初用vscode,不能打开多个文件:每打开一个文件,都会替换前面一个文件标签,很不方便切换编码: 想要的效果: 解决方式: 方法一: 找到setting.json文件,最外层花括 ...

  9. Dubbo源码学习总结系列三 dubbo-cluster集群模块

    Dubbo集群模块的目的是将集群Invokers构造一个透明的Invoker对象,其中包含了容错机制.负载均衡.目录服务(服务地址集合).路由机制等,为RPC层提供高可用.高并发.自动发现.可治理的S ...

  10. sqli(8)

    第八关:单引号GET盲注 前言:感冒了很有以后摸到靶场,如若隔世....我的天,说不定又有同学要去实习了,再看看我.啧啧啧,神的飞起来.. 盲注需要掌握一些MySQL的相关函数:length(str) ...