1.业务需求:实现对人员信息过滤查询,展示多行表头列合并的显示效果,本模块涉及到两个基础信息表T_Employee(人员信息表),T_Department(部门表)。
2.打开模块构件,新增一个模块,模块构件的属性设置界面如下:
3.打开界面元素构件,选中人员信息查询模块,新增一个界面元素,界面元素的属性设置如下:
其中查询SQL为:
select count(*),'EmpName=www,DepName=xxx' from T_Employee z,T_Department y where z.DepID=y.DepID and z.EmpName like '%'+@EmpName_+'%' and y.DepName like '%'+@DepName_+'%';
select TOP @RowCount_ * from (select ROW_NUMBER() OVER(ORDER BY #Order$) as RowNumber_,
z.EmpName,z.Sex,z.EmpID,z.IsMarried,z.Degree,z.BloodGroup,y.DepID,y.DeptSN,y.DepName,y.BankRollQuota,
y.Accounts,y.AddrCode,y.Tel
from T_Employee z,T_Department y
where z.DepID=y.DepID and z.EmpName like '%'+@EmpName_+'%' and y.DepName like '%'+@DepName_+'%'
) as a_ where a_.RowNumber_>@pageNo_
查询SQL中共有两个SQL查询语句,之间用分号分开,第一个SQL第一个字段用于计算页数,第二个字段用于生成页根显示信息,一般是统计信息;第二个SQL用于查询出某页的数据,参数@pageNo_必需要有,表示某页的开始行号,由系统自动把下页开始行号值传入SQL,从而实现翻页的功能,函数ROW_NUMBER() OVER(ORDER BY #Order$)表示以#Order$字段进行排序来生成行号,#Order$为排序字段变量,第一次执行SQL前会替换为“默认排序字段名”的z.EmpID,当使用者点击列头时会替换为列头的字段名,ROW_NUMBER() OVER()函数必须有,因为用SQL进行翻页性能最好。@RowCount_为每页行数,执行SQL前会替换为用户所选的每页行数。
其中要注意锁定开始列号设为0,锁定结束列号为2。
4.打开操作构件,选中人员信息查询模块中的人员信息界面元素,新增“查询”操作,属性设置如下:
7.打开字段构件,选中人员信息查询模块中的人员信息界面元素,定义的各字段属性如下:
RowNumber_字段属性设置:
EmpName字段属性设置:
Sex字段属性设置:
IsMarried字段属性设置:
Degree字段属性设置: