# 报表

> 该模块用于定义报表。

## 基本信息

> 用于定义报表的基本信息，包括报表名称，数据库组，报表数据源等信息。

### 界面

![](./static/images/01_06.png)

### 配置项说明

|配置项|配置项说明|
|-|-|
|名称|报表的名称，支持多语言|
|数据库组别名|报表获取数据的数据库|
|超时间隔|报表获取数据时的最大等待时间|
|存储过程|配置执行存储过程的语句|
|存储过程是否引用|是否用存储过程的结果集作为报表数据源|
|表关系名称|DataSet中Relation的名称，支持多语言|
|表关系表达式|DataSet中Relation的关联关系|
|分组定义|用于形成group by子句。如果配置，则select子句需要｛GroupColumns｝关键字|
|其他定义|其他条件卡片页中WnCondition组件的数据源|
|是否显示平面报表|平面报表卡片页是否显示。平面报表就是简单的二维表|
|是否显示交叉报表|交叉报表卡片页是否显示。交叉报表其实就是数据透视表|
|是否显示图形报表|图形报表卡片页是否显示。图形报表包括：柱状图、折线图和饼状图|
|数据库表名|获取的报表数据源的名字，多个用英文逗号分隔|
|报表数据源|取数SQL语句|

## 报表列配置信息

> 配置报表的列相关信息，包括标题、宽度、数据格式等。主要在平面报表使用。

### 界面

![](./static/images/01_07.png)

### 配置项说明
|配置项|配置项说明|
|-|-|
|数据库表名|列所属的数据库表名称|
|列名称|数据源中列的名称|
|列标题|展现到界面上的名称|
|列标题位置|列标题的的显示位置，针对平面报表|
|数据格式|列上数据的显示格式，日期和数据类型有效|
|汇总类型|列的数据汇总类型|
|宽度|列宽度|
|自定义汇总|自动以汇总表达式，平面报表有效|
|列表查询值|如果列的编辑器是列表查询，用作数据源。平面报表有效|
|是否冻结|效果类似Excel的冻结列|
|是否合并单元格|只能合并行，不能合并列|
|是否显示|列是否显示|

## 报表条件参数定义

> 配置用于设定报表取数条件的单值控件信息。

### 界面

![](./static/images/01_08.png)

### 配置项说明
|配置项|配置项说明|
|-|-|
|控件名称|用于唯一确定一个控件|
|控件标题|控件的标题文本，支持多语言|
|控件类型|单值控件的类型，支持大部分的单值控件|
|Grid查询代码|当控件类型是WnGridLookup时配置|
|Form查询代码|当控件类型是WnFormLookup时配置|
|背后值列|Grid查询和Form查询使用，用查询到的数据源的哪一列作为控件的背后值|
|获得焦点显示列|Grid查询和Form查询使用，用查询到的数据源的哪一列作为控件获得焦点的显示值|
|未获得焦点显示列|Grid查询和Form查询使用，用查询到的数据源的哪几列作为控件失去焦点的显示值|
|是否接受额外值|下拉列表和Form查询使用，控件是否允许接受数据源以外的值|
|是否自动刷星|Form查询使用，控件是否根据背后值自动刷新显示值|
|下拉列表|控件类型为WnCombo时配置，作为下拉列表控件的数据源|
|列表查询值|控件类型为WnLookup时配置，最为列表查询控件的数据源，支持多语言|
|关键字设置|Form查询控件使用，格式：`{关键字}=controlname,……`，多个关键字之间用逗号分隔|
|数据填充规则|Grid查询、Form查询控件使用，格式：`controlname=查询数据集字段,……`，多个用英文逗号分隔|
|默认值|用于设置单值控件的默认值|
|报表条件|替换报表sql中的｛Condition｝关键字，包含固定值“｛Value｝” ，例如：`a.BillDate>='{Value}'`|
|报表关键字|用于替换报表语句中的关键字，格式：{关键字}|

## 报表状态参数定义

> 配置形成报表状态条件的控件。
>
> 状态条件是什么？例如：`AuditUser is null` 或者`AuditUser is not null` 这就是状态条件。

### 界面

![](./static/images/01_09.png)

### 配置项说明

|配置项|配置项说明|
|-|-|
|控件名称|用于选择的列表查询控件的名称，唯一确定该控件|
|控件标题|控件标题的显示文本，支持多语言|
|状态列表值|列表查询控件的数据源|