不多说了直接上代码,

$('#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. Beetle简单构建TCP服务

    使用Beetle构建TCP服务应用是件非常简单的事情,它并不需要你去关注Socket细节,如果你想用Socket编写高性能的TCP服务,那你要关注的东西非常多,异步数据处理,大量连接下的线程管理和连接 ...

  2. State Function Approximation: Linear Function

    In the previous posts, we use different techniques to build and keep updating State-Action tables. B ...

  3. 安全运维 - Windows系统维护

    Windows系统加固 账户管理和啊认证授权 日志配置操作 IP协议安全配置:启用SYN攻击保护 文件权限 服务安全 安全选项:启动安全选项.禁用未登录前关机 其他安全配置: 防病毒管理.设置屏幕保护 ...

  4. 设计模式:单例模式(Singletion)

    单例模式(Singletion):保证一个类仅有一个实例,并提供一个访问该实例的全局访问点. 单例模式主要作用是保证唯一的实例,可以严格地控制客户端怎样访问该实例以及何时访问它.可以简单的理解为对唯一 ...

  5. String.indexOf()的使用方法

    String.indexOf()的用途: 返回此字符串中第一个出现的指定的子字符串,如果没有找到则返回-1 源码如下: /** * Returns the index within this stri ...

  6. 模块管理常规功能自己定义系统的设计与实现(15--进一步完好"省份"模块)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jfok/article/details/24737483 "省份"模块的进一步完 ...

  7. 基于 SwiftUI 创建一个可删除、可添加列表项的列表

    执行环境 macOS Mojave: 10.14.5 xcode: Version 11.0 beta 6 (11M392q) 预览效果 完整代码 import SwiftUI class Item: ...

  8. ubuntu下载地址

    http://mirrors.aliyun.com/ubuntu-releases/16.04/

  9. vim插件YouCompleteMe安装

    这里在ubuntu16.4下安装的需要提前安装cmake clang python3sudo apt-get install clang  因为不能访问google,安装时,安装go的插件会访问goo ...

  10. zip loader

    GS.ZipAssetLoader = function(audioContext) { this.audioContext = audioContext, this.objLoader = new ...