学习日记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张 ...
随机推荐
- 自翻唱龙珠超OP2【限界突破X幸存者】
娱乐向:自翻唱龙珠超OP2[限界突破X幸存者] 翻唱度盘下载>> MP4: http://video.yingtu.co/0/e20dad3b-14d1-47a4-ad26-196a961 ...
- AWS Cloud Practioner 官方课程笔记 - Part 1
课程笔记: 1. 3种访问AWS服务的方式: GUI, CLI, SDK 前两种是用户用来访问的,SDK可以让程序调用去访问服务. 2. core services 以及通用的use cases Am ...
- 20190925 On Java8 第二十二章 枚举
第二十二章 枚举 基本 enum 特性 创建 enum 时,编译器会为你生成一个相关的类,这个类继承自 Java.lang.Enum. valueOf() 是在 Enum 中定义的 static 方法 ...
- package.json说明
package.json是什么? 直接的说:就是管理你本地安装的npm包 一个package.json文件可以做如下事情: 展示项目所依赖的npm包 允许你指定一个包的版本[范围] 让你建立起稳定,意 ...
- 40-python基础-python3-字典常用方法-setdefault()
setdefault() 常常需要为字典中某个键设置一个默认值,当该键没有任何值时使用它,如下面的情况: setdefault()方法, 字典.setdefault(键,默认值) 传递给该方法的第一个 ...
- 02-CSS简介和基本选择器
# CSS为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开,CSS由此思想而诞生,CSS是 Cascading Style Sheets 的首字母缩写,意思是层叠样式表.有了CSS,ht ...
- http的Content-Encoding和Content-Type及服务器和客户端处理流程
比如,A 给 B发送了一条信息:hello,首先,A要告诉B,我给你发的这条数据的类型,不同类型的数据,接收方的处理方式不一样,hello属于文本类型,所以Content-Type就要设置成 text ...
- Git:将本地项目连接到远程(github、gitee、gitlab)仓库流程
当进行协同开发或者为了代码安全备份需要,一般都会将本地代码和远程仓库相连接. 备注:Github.Gitee.Gitlab是三个常用的远程git仓库,操作流程基本一致. 提前环境要求: 1.node. ...
- jQuery的加法运算,val()获取的结果相加变成了字符串连接。
加法运算 ?想必大家听到这都会不屑了,加法运算这是多么简单的运算.然而有的时候在jQuery也让人挺头疼的. 常规的是: var num1 = 123; var num2=123; var total ...
- windows下使用命令行获取管理员权限
在win下运行npm install安装依赖出现错误: Error: EBUSY, resource busy or locked 搜索错误信息后发现是由于没有管理员权限,在bash中输入以下命令后运 ...