# 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下进行拍讯 | ### 模块界面 ![](./static/images/01_01.jpg) ![](./static/images/01_02.jpg) ### 注意事项 - 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查询列不支持关键字配置