Grid查询
什么是Grid查询?
简言之Grid查询是一种特殊的下拉列表,下拉展开后用Grid列表来展示要选择的数据。
Grid查询的数据源来自于数据库,因此需要有个配置SQL语句的地方,这样就有了Grid查询定义模块。
Grid查询定义
数据库表解析
字段 |
说明 |
ModuleId |
模块标识,用来指定Grid查询是哪个模块的,仅此而已 |
Code |
Grid查询代码,Grid查询控件与Grid查询定义通过Code进行绑定 |
DBGroupAlias |
Grid查询数据源所在的数据库组别名 |
LookupSql |
用于获取Grid查询数据源的SQL语句 |
DropDownWidth |
下拉框的宽度 |
DropDownHeight |
下拉框的高度 |
ColumnSetting_{Language} |
各种语言下的,下拉列配置信息,包括列名、标题、宽度、是否锁定 |
Note |
备注信息 |
LockUser |
锁定人,锁定后不允许修改 |
LockDate |
锁定日期 |
OrderIndex |
定义界面的显示顺序,同一个ModuleId下进行拍讯 |
模块界面
注意事项
- Grid查询的SQL语句中允许包含关键字
- 如果包含关键字,则在执行Assemble方法的时候因为没有提供对应的关键字,Grid查询控件的下拉列表没有绑定数据源
- 如果包含关键字,则Grid查询控件应该在准备好关键字的值后调用相关方法重新绑定数据源
- 列配置信息除了预先制定,还可以在程序运行过程中,通过手动拖拽调整下拉框大小后按快捷键进行保存(要求是管理员并且按键是F10)
Grid查询控件
用到Grid查询的控件有两个:
- 单值控件-WnGridLookup
- WnGrid中的Grid查询列
WnGridLookup
WnGridLookup控件的属性、事件等已经在前面进行了介绍,这里就不在做详细解说。下面主要说下WnGridLookup在使用过程要注意的问题。
- WnGridLookup在使用的时候必须指定背后值列、获得焦点显示值列和失去焦点显示值列
- WnGridLookup的查询语句如果包含关键字,则在准备好关键字后调用BindData方法重新绑定数据
- 下拉列表的数据量尽量不要太大,执行SQL语句时尽量提供足够多的条件来限定数据源数据。防止因为下拉数据源的数据量太大造成模块初始化用时过长
- 支持关键字规则配置,允许把其他单值控件的值作为SQL语句的关键字
WnGrid中的Grid查询列
- 给列的GridLookupCode属性绑定值后,该列自动切换为Grid查询列
- Grid查询列的SQL语句也支持关键字,并且是通过方法GridLookupBindData重新绑定数据。但是Grid查询列不支持关键字配置