# 报表设计器
H5DW提供了报表设计器,可以通过报表设计器来快速设计报表。
报表设计器
报表设计器通过定义数据源、设计模板来设计报表,可以通过右边的属性窗口进行报表或单元格的属性的设置。
# 使用设计器
- 下载设计器 designer.zip
- 解压后,放到
satrda示例/server/public目录下 - 浏览器访问:http://localhost:5555/designer (opens new window)
# 数据源
# 定义数据源
设计报表时,首先需要定义数据源
单击数据源的工具栏上的数据源图标,弹出数据源对话框

定义自己SQL语句,如:
select * from customers
- 点击
查询按钮,会根据SQL语句显示查询出来的所有字段。可以修改字段的属性。 - 点击
重置按钮,会以默认的模板重置模板样式,把所有字段都显示出来。 - 点击
应用按钮,只会保存数据源,不会重置模板样式。
# 多数据源
H5DW允许定义多个数据源,并将数据源展示在报表中。
- 在设计器右侧
数据源面板点击+按钮,会弹出新增数据源对话框。
- 点击
编辑按钮,弹对修改数据源对话框,可以进行修改。 - 新增加的数据源可以通过
删除按钮进行删除。
# 设计报表
设计器提供类似Excel的编辑方式编辑报表,如果用户有设计好的Excel报表,或者数据窗口文件,可以直接支持进行导入,节省设计时间。
# 带区(Section)
报表使用带区和数据源关联,综合了Excel易于编辑,fastreport和PowerBuilder数据窗口易于显示数据的优点。

带区分为报表头和报表明细,可以通过拖动最左边的带区条或设置带区的属性来改变带区的行数。
# 报表头(header)
- 报表头中的单元格在非设计模式时,可以拖动表头改变列宽
- 鼠标可以拖动header最左边的小横条,增加或减少header的行数
# 报表明细(detail)
- 报表明细中的单元格在非设计模式时,会根据主数据源行数进行扩展显示
- 鼠标可以拖动detail最左边的小横条,增加或减少detail的行数
- 当detail有多行数,多行都会根据数据源行数扩展显示,相当于自由表格
# 块设置
块设置是将某一个区域关联到指定的数据源,根据设置的属性,可以根据数据源的行数进行行或列的扩展。常用于多个数据源的展示。
# 新增块
选中某一个区域后,点击右键在弹出菜单中选择块设置 > 设置 会弹出块设置界面
点中Dataset下拉框,选择需要关联的数据源,如主数据源,点击确定。
提示:
- 块设置不要块设置到带区中,如
header,detail带区,避免冲突- 公式使用非主数据源的字段时,要加上数据源的名称,如
#{key1.CustomerID}
# 修改块
选中某块,点击右键在弹出菜单中选择块设置 > 设置 会弹出块设置界面,可以进行修改
# 删除块
选中某块,点击右键在弹出菜单中选择块设置 > 取消
# 冻结行列
冻结行、冻结列功能,可以冻结报表头和列,在下拉时冻结时的行或列不会滚动,方便查看。示例中的报表头就是被冻结的。
操作方法:
- 选中单元格,该单元格的上方列和左侧行会被冻结
- 点击工具栏上的冻结图标
# 报表字段、公式
报表字段和公式必须包含在#{}中
如字段:#{price}
公式:#{price + 1}
可以选中数据源中的字段,拖动到单元格中,单元格会自动设置为该字段#{col}
提示: 报表在显示模式时,字段可以编辑。公式不能编辑
# 公式编辑器
报表公式可以通过公式编辑器进行编辑,选中一个单元格,在右侧的属性面板中,选择需要编辑公式的属性,点击右边的按钮,弹出公式编辑器

- 公式编辑器可以查找到支持函数,鼠标移到函数上,会显示函数的描述
- 公式编辑器可以查找数据字段和定义的变量
- 可以通过点击函数或变量来插入,也可以在语法编辑器中编辑,输入关键字会自动提示
# 单元格类型
单元格可以设置不同的类型,单元格可以设置的类型如下
| 类型 | 名称 | 说明 |
|---|---|---|
| Text | 文本 | 默认类型,可以是文本,也可以公式,公式包括在#{}中,如#{LastName+FirstName} |
| Image | 图片 | 具体见表格图片文字 |
| Button | 按钮 | 以按钮显示,支持点击事件,可以在代码中通过dw1.on('ButtonClicked',(evt, row, code,Name) => { //逻辑代码 } 处理点击事件 |
| CheckBox | 复选框 | 可以选中或取消 |
| RadioButtons | 单选框 | 指定一组选项,只能选择其中一个 |
| DropDownDW | 下拉数据窗口 | 表格下拉,可以指定另一个报表为下拉数据,选中后将该选中的数据作为数据返回 |
| DropDownListBox | 下拉列表 | |
| ColumnHeader | 列标题头 | 常用于表格标题,可以指定排序、拖动等属性,参考:筛选排序、拖拽列 |
| QRCode | 二维码 | 以二维码显示,参考条码和二维码 |
| Barcode | 条形码 | 以条形码显示,参考条码和二维码 |
| Tree | 树形结构 | 以树形显示,参考树型列表 |
| Paint | 画板 | 自绘图形,参考自绘报表 |
| Html | Html |
# 报表语法
- 在报表编辑区域,点击鼠标右键,弹出菜单,选择
语法编辑,可以查看报表的语法。 - 可以编辑模板语法,编辑完成后,点击按钮
应用使修改生效。
提示: 语法都是
json格式
# 导入报表
报表设计器支持导入报表,支持导入Excel,PowerBuilder数据窗口和H5DW标准格式的文件
如:点击文件菜单,选择弹出的导入报表将导入H5DW标准格式的文件。
# 导出文件
点击文件菜单
- 选择弹出的
导出报表将导出报表为H5DW标准格式的文件。 - 选择弹出的
导出Excel将导出报表为Excel文件。
# 加载保存
# 加载报表
使用SatRDA服务将报表文件放到satrda示例/server/public/data目录下,链接地址加上?report=文件名可以加载报表
如:http://www.satrda.com/designer/?report=addorder (opens new window)
# 保存报表
点击文件菜单,弹出菜单有保存项,这个可以实现报表保存到服务器或服务端文件,通过实现定义webapi实现。
如使用SatRDA服务加载编辑addorder报表 (opens new window),设计完成后会点击保存,会保存到服务端文件,
下次再加载会显示保存的文件。