学习日记3、投机取巧使两个表的数据同时在一个treeGrid中显示
不多说了直接上代码,
$('#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中显示的更多相关文章
- SQL 统计两个表的数据,按同一日期分组
思路:把两个表的数据按日期整合到临时表在按日期分组,求和. 例子: SELECT t.dateTime AS '日期',SUM(t.money) AS '表1利息',SUM(t.interest) A ...
- 关于跨DB增量(增、改)同步两张表的数据小技巧
有些场景下,需要隔离不同的DB,彼此DB之间不能互相访问,但实际的业务场景又需要从A DB访问B DB的情形,这时怎么办?我认为有如下常规的三种方案: 1.双方提供RESET API,需要访问不同DB ...
- 转 A 、B两张表,找出ID字段中,存在A表,但是不存在B表的数据
A.B两张表,找出ID字段中,存在A表,但是不存在B表的数据,A表总共13W数据,去重后大约3万条数据,B表有2W条数据,且B表的ID有索引. 方法一 使用not in,容易理解,效率低. selec ...
- Django之同时新增数据到两个数据库表与同时返回两个表的数据(插拔式)
models:比如有以下三个模型 from django.db import models """ 基类,其他类继承即可获得对应的字段 """ ...
- ADO.NET事务处理,初始回调函数,多张表的数据在同一个DataGridView中展示
执行ADO.NET事务包含四个步骤,接下来以Transaction对象为例介绍. (1)调用SQLConnection对象的BeginTransaction()方法,创建一个SQLTransactio ...
- SQL联合查询两个表的数据
刚有个项目,需要查询水位数据表中的水位信息,及查询降雨量表中统计时段降雨量的数据,以计算出日降雨量,而且时段是前一天8时到后一天8时总共24个小时. 两个子查询: 1.根据当前时间判断统计前天8时到今 ...
- 【转】mysql 触发器实现两个表的数据同步
mysql通过触发器实现两个表的同步 目前,在本地测试成功. 假设本地的两个数据库a和b,a下有表table1(id, val) b下有表table2(id, val) 假设希望当table1中数据更 ...
- SQL如何查询两个表的数据
在进行查询操作时,我们通常需要查询两个关联表的数据,我们可以使用where语句进行查询,如: select Emp.E_Id,Company.C_OraName from Emp,Company wh ...
- django同时查询两张表的数据,合并检索对象返回
原始需求: 1.一篇文章内容分N个版块,每篇文章的版块数量不同. 2.有个文章搜索功能,需要同时搜索标题和内容. 实现思路: 1.由于每篇文章的内容版块数量不同,因此将每个文章的标题和内容分开存入2张 ...
随机推荐
- Nginx 日志切割(Logrotate)
Logrotate 配置文件 # ls /etc/logrotate.* /etc/logrotate.conf /etc/logrotate.d: cups dracut fmdcn httpd i ...
- dataTables使用的详细说明整理
本文共三个部分:官网|基本使用|遇到的问题 一.官方网站:http://www.datatables.club/ 二.基本使用: 1.dataTables的引入及初始化 <!--第一步:引入Ja ...
- Python3的基本数据类型
2.1. Python3中六个标准的基本数据类型: Number(数字) String(字符串) Sets(集合) Tuple(元组) List(列表) Dictionary(字典) 2.2. Pyt ...
- Spring 容器的基本用法
容器的基本用法 bean 是 Spring 中最核心的东西,因为 Spring 就像是个大水桶,而 bean 就像是容器中的水,水桶脱离了水也没什么用处了,来看看 bean 的定义. public c ...
- RocketMQ的消息发送及消费
RocketMQ消息支持的模式: 消息支持的模式分为三种:NormalProducer(普通同步),消息异步发送,OneWay. 消息同步发送: 普通消息的发送和接收在前面已经演示过了,在前面的案例中 ...
- mybatis工作流程&源码详解
该篇主要讲解的是mybatis从seesion创建到执行sql语句的流程 流程主线: 1.创建SqlSessionFactoryBuilder 2.创建会话工厂SqlSessionFactory 3. ...
- JavaScript之BOM操作
一, 什么是BOM BOM:Browser Object Model,浏览器对象模型 BOM的结构图: 从上图也可以看出: window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也 ...
- 又一年NOIP后的一波总结
(昨天正式考完了吧...先写一下现在的感受,出成绩以及后续继续更...) 按照国际惯例,还是先讲一下故事吧. Day(~,0] 大概是跟随者时间的推进,气氛越来越紧张吧. 平时好像大家和往常一样,日常 ...
- [书接上一回]在Oracle Enterprise Linux (v5.7) 中安装DB - (2/4)
在最后一行,书写shmfs /dev/shm tmpfs size=2g 0 用来调高数据库运行是的内存分配问题. 创建需要的路径和分配权限. 设置 oracle 用户环境参数. 修改标头显示的部分. ...
- 箭头函数的this指向问题
this指向的固定化,并不是因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this.正是因为它没有this,所以也就不能用作构造函数 ...