gridlookup.md 3.3 KB

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查询列不支持关键字配置