# 窗体界面设计 > 模块的主要功能: > - 配置模块的数据集信息 > - 配置模块的界面信息 > - 调用模块配置,配置模块的Grid查询、Form查询、数据权限及多语言信息 ## 数据源配置 > 数据源配置部分主要介绍下面几个配置: > - 数据集定义 > - 表配置信息 > - 列配置信息 > - 关键字信息 ### 数据集定义 > 定义执行数据库操作的增删查改语句。 **界面** ![](./static/images/02_01.png) **配置项说明** |配置项|配置项说明| |-|-| |数据集名称|一个模块中数据集的唯一标识,代码中根据数据集名称来执行数据集| |数据库组别名|指明该数据集定义SQL语句将要在哪个数据库中执行| |超时间隔|超时间隔有两层意思:1、客户端与应用层连接时间;2、SQL语句执行时间| |数据库表名|获取到的数据表的逻辑表名,select语句必须配置,多个用英文逗号分隔| |sql语句|数据集要执行的SQL语句,多个用英文分号分隔。如果是select语句,个数要与表名个数一直| |表关系名称|获取到的DataSet中各个表之间的Relation名称,多个用英文逗号分隔,支持多语言| |表关系|获取到的DataSet中各个表之间的Relation关系表达式,个数要与表关系名称一致| ### 表配置信息 > 如果表需要保存,一般需要配置表配置信息。 **界面** ![](./static/images/02_02.png) **配置项说明** |配置项|配置项说明| |-|-| |数据集名称|表所属的数据集的名称| |数据库表名|数据集定义中配置的表的逻辑名称| |物理数据库表名|获取到的表在数据库中的表名,因为要保存,必须知道真正的表名| |主键|表中能唯一确定一条记录的列组合,形成update、delete语句时使用| |是否增加行状态|是否增加一个名为RowState的列。用于区分新增行和新增修改行;同时用于修改行的前景色| |顺序分组依据|保存时如果自动排序,需要先按照顺序分组依据列进行分组,然后再自动排序| ### 列配置信息 > 列配置信息主要有以下几点作用: > - 如果表保存,一般需要配置列配置信息 > - 如果在WnGrid、WnTreeGrid、WnPivot上显示,用于配置列的相关属性 **界面** ![](./static/images/02_03.png) **配置项说明** |配置项|配置项说明| |-|-| |数据集名称|列所属的数据集| |数据库表名|列所数据的表| |字段名|列的名称,与select子句中的一致| |列标题|如果在WnGrid等显示时,用户看到的名称,支持多语言| |标题位置|列标题显示的位置| |默认值|当新增行时列的默认值,支持关键字,格式为{defaultvalue}。如果未Guid则配置为newid()| |数据格式|列数据的显示格式,仅对日期类型和数值类型有效| |汇总类型|列汇总值得类型| |区域|WnPivot使用,设定当前列是在WnPivot的哪个区域| |宽度|列的宽度,因为同样的意思不同语言的长度可能相差挺大,因此支持多语言配置| |过滤配置信息|正常情况下该配置信息都是自动生成,但如果不能满足需求,需要手动配置,例如列为Form查询的时候| |公式表达式|多列之间的计算公式,需要配置在参与计算的列上| |自定义汇总|对列的汇总值进行二次计算的公式表达式| |列标题前景色|列标题文本颜色| |列标题背景色|列标题背景色| |保存标记|确定列是否保存| |是否只读|确定列是否能编辑| |是否显示|确定列是否可见,一般不可见列都设置为只读的| |是否顺序列|保存时是否给该列自动排序。一个表只能有一个列为顺序列,类型必须为数值类型,需要配置默认值-1| |是否复制项|WnGrid新增行时,如果开启复制功能,则会自动复制是否复制项为true的列的值| |是否允许鼠标滚动|针对数值和日期列,确定是否可以通过鼠标滚动改变值| |是否冻结|确定列是否锁定在左边,类似于Excel的列冻结| |是否自动换行|开启后如果数据量过大时会造成页面加载过慢,慎用| |自动适应列宽|确定列宽度是否根据内容自动调整,开启后如果数据量过大时会造成页面加载过慢,慎用| |是否参与过滤|在WnGrid生成过滤字符串的时候,确定该列是否参与生成| |Grid查询代码|配置后该列将变为Grid查询| |Form查询代码|配置后该列将变为Form查询| |查询结果列|Grid查询和Form查询使用,确定使用查询结果集的哪一列的值作为列的背后值| |查询显示列|Grid查询使用,确定使用查询结果集的哪一列的值作为列的显示值| |重新查询列名|Form查询使用,Form查询多远并且不生成多行时配置,用于恢复已选值| |替换关键字|Form查询使用,用于替换SQL语句中的关键字,格式:{关键字}=wnGrid列名,多个用英文逗号分隔| |回填规则|Grid查询和Form查询使用,格式:winGrid列名=返回的数据集字段,多个用英文逗号分隔| |下拉列表值|配置后该列将变为下拉列表| |列表查询值|配置后该列将变为列表查询| |是否添加多行|Form查询使用,多选的Form查询是否根据选择的结果生成多行| |是否接受额外值|Form查询和下拉列表使用,是否允许接受数据源以外的值| |是否手动定位|列表查询和Grid查询使用,是否允许手动录入部分内容来快速定位| ### 关键字信息 > 该功能主要是针对通过模块的。使通用模块可以根据不同的业务类型代码执行不同的SQL语句。 **界面** ![](./static/images/02_04.png) **配置项说明** |配置项|配置项说明| |-|-| |关键字名称|前面卡片页中配置的关键字,例如数据集的SQL语句,数据库组别名等| |业务类型代码|业务类型代码,与关键字名称配合来获取关键字的值| |关键字值|关键字的值,允许包含普通的关键字| ## Wn组件配置 > 用来动态配置构建模块的界面。 **界面** ![](./static/images/02_05.png) ### 菜单功能说明 |菜单项|功能说明| |-|-| |展开|展开选中节点及其所有子孙节点| |收缩|收缩选中节点及其所有子孙节点| |向下选择|勾选当前选中节点,并且递归选中其所有子孙节点| |向上选择|勾选当前选中节点,并且递归选中所有父级节点| |全清|清除所有选中节点| |是否自动生成|确定当前节点的父级节点执行Assemble方法时是否自动加载| |移除|删除选中节点及其所有子孙节点| |保存|保存配置信息到数据库| |锁定|锁定勾选的节点,防止误修改| |解锁|解锁勾选的节点,进行修改| |加载|根据勾选的节点加载界面,窗体必须选择。选择两个以上窗体时,只加载位置靠前的窗体| |模块配置|打开模块配置界面进行配置| |自动大小|当容器类控件设置允许自动宽度和高度后,选择容器后点击自动大小,将会按照其子元素来自动调整容器的大小| |清理垃圾数据|每次移除都有可能产生一些垃圾数据,点击此按钮将移除所有的垃圾数据| |引入控件|快速引入类似的窗体来构建界面| |代码生成|自动生成勾选的控件的初始化语句及选择的事件注册语句| |控件生成|根据Word文档信息,生成对应的控件| |控件布局|对界面进行布局| ### 控件引入 > 复制类似的窗体界面,快速构建界面 **界面** ![](./static/images/02_06.png) ### 代码生成 > 生成所选控件的初始化代码及相关事件的注册代码。 > > 如果没有勾选控件,打不开代码生成窗体 **界面** ![](./static/images/02_07.png) ### 控件生成 > 根据配置信息自动生成相关的控件 > > 配置信息可以来源于Word文档,格式和数据库设计格式要求一致 > > 如果当前选择的不是容器控件,打不开控件生成窗体 **界面** ![](./static/images/02_08.png) ### 控件布局 > 对容器控件内的单值控件进行排版布局 > > 如果选择的不是容器控件,打不开控件布局窗体 **界面** ![](./static/images/02_09.png) ## 模块配置 > 配置当前模块使用的Grid查询、Form查询、数据权限和多语言配置 ### Grid查询 > Grid查询定义信息,用于初始化Grid查询的下拉数据源 > > Grid查询参考:[Grid查询专题](../winformspecial/gridlookup.md) **界面** ![](./static/images/02_10.png) ### Form查询 > Form查询定义信息 > > Form查询参考:[Form查询专题](../winformspecial/formlookup.md) **界面** ![](./static/images/02_11.png) ### 数据权限 > 数据权限定义 > > 参考:[数据权限专题](../winformspecial/dataright.md) **界面** ![](./static/images/02_12.png) ### 语言对照管理 > 管理模块用到的多语言信息 **界面** ![](./static/images/02_13.png) **配置项说明** |配置项|配置项说明| |-|-| |代码|根据代码来匹配对应的多语言信息| |内容|多语言内容信息|