# 报表设计器

H5DW提供了报表设计器,可以通过报表设计器来快速设计报表。

报表设计器 rpt 报表设计器通过定义数据源、设计模板来设计报表,可以通过右边的属性窗口进行报表或单元格的属性的设置。

# 使用设计器

  1. 下载设计器 designer.zip
  2. 解压后,放到satrda示例/server/public目录下
  3. 浏览器访问:http://localhost:5555/designer (opens new window)

# 数据源

# 定义数据源

设计报表时,首先需要定义数据源

  1. 单击数据源的工具栏上的数据源图标,弹出数据源对话框 rpt

  2. 定义自己SQL语句,如: select * from customers

  • 点击查询按钮,会根据SQL语句显示查询出来的所有字段。可以修改字段的属性。
  • 点击重置按钮,会以默认的模板重置模板样式,把所有字段都显示出来。
  • 点击应用按钮,只会保存数据源,不会重置模板样式。

# 多数据源

H5DW允许定义多个数据源,并将数据源展示在报表中。

  • 在设计器右侧数据源面板点击+按钮,会弹出新增数据源对话框。 rpt
  • 点击编辑按钮,弹对修改数据源对话框,可以进行修改。
  • 新增加的数据源可以通过删除按钮进行删除。

# 设计报表

设计器提供类似Excel的编辑方式编辑报表,如果用户有设计好的Excel报表,或者数据窗口文件,可以直接支持进行导入,节省设计时间。

# 带区(Section)

报表使用带区和数据源关联,综合了Excel易于编辑,fastreportPowerBuilder数据窗口易于显示数据的优点。 web

带区分为报表头和报表明细,可以通过拖动最左边的带区条或设置带区的属性来改变带区的行数。

# 报表头(header)

  • 报表头中的单元格在非设计模式时,可以拖动表头改变列宽
  • 鼠标可以拖动header最左边的小横条,增加或减少header的行数

# 报表明细(detail)

  • 报表明细中的单元格在非设计模式时,会根据主数据源行数进行扩展显示
  • 鼠标可以拖动detail最左边的小横条,增加或减少detail的行数
  • 当detail有多行数,多行都会根据数据源行数扩展显示,相当于自由表格

# 块设置

块设置是将某一个区域关联到指定的数据源,根据设置的属性,可以根据数据源的行数进行的扩展。常用于多个数据源的展示。

# 新增块

选中某一个区域后,点击右键在弹出菜单中选择块设置 > 设置 会弹出块设置界面 blockset 点中Dataset下拉框,选择需要关联的数据源,如主数据源,点击确定。

提示:

  • 块设置不要块设置到带区中,如header,detail带区,避免冲突
  • 公式使用非主数据源的字段时,要加上数据源的名称,如#{key1.CustomerID}

# 修改块

选中某块,点击右键在弹出菜单中选择块设置 > 设置 会弹出块设置界面,可以进行修改

# 删除块

选中某块,点击右键在弹出菜单中选择块设置 > 取消

# 冻结行列

冻结行、冻结列功能,可以冻结报表头和列,在下拉时冻结时的行或列不会滚动,方便查看。示例中的报表头就是被冻结的。

操作方法:

  1. 选中单元格,该单元格的上方列和左侧行会被冻结
  2. 点击工具栏上的冻结图标
web

# 报表字段、公式

报表字段和公式必须包含在#{}

如字段:#{price} 公式:#{price + 1}

可以选中数据源中的字段,拖动到单元格中,单元格会自动设置为该字段#{col}

提示: 报表在显示模式时,字段可以编辑。公式不能编辑

# 公式编辑器

报表公式可以通过公式编辑器进行编辑,选中一个单元格,在右侧的属性面板中,选择需要编辑公式的属性,点击右边的按钮,弹出公式编辑器 web

  • 公式编辑器可以查找到支持函数,鼠标移到函数上,会显示函数的描述
  • 公式编辑器可以查找数据字段和定义的变量
  • 可以通过点击函数或变量来插入,也可以在语法编辑器中编辑,输入关键字会自动提示

# 单元格类型

单元格可以设置不同的类型,单元格可以设置的类型如下

类型 名称 说明
Text 文本 默认类型,可以是文本,也可以公式,公式包括在#{}中,如#{LastName+FirstName}
Image 图片 具体见表格图片文字
Button 按钮 以按钮显示,支持点击事件,可以在代码中通过dw1.on('ButtonClicked',(evt, row, code,Name) => { //逻辑代码 } 处理点击事件
CheckBox 复选框 可以选中或取消
RadioButtons 单选框 指定一组选项,只能选择其中一个
DropDownDW 下拉数据窗口 表格下拉,可以指定另一个报表为下拉数据,选中后将该选中的数据作为数据返回
DropDownListBox 下拉列表
ColumnHeader 列标题头 常用于表格标题,可以指定排序、拖动等属性,参考:筛选排序、拖拽列
QRCode 二维码 以二维码显示,参考条码和二维码
Barcode 条形码 以条形码显示,参考条码和二维码
Tree 树形结构 以树形显示,参考树型列表
Paint 画板 自绘图形,参考自绘报表
Html Html

# 报表语法

  • 在报表编辑区域,点击鼠标右键,弹出菜单,选择语法编辑,可以查看报表的语法。
  • 可以编辑模板语法,编辑完成后,点击按钮应用使修改生效。 web

提示: 语法都是json格式

# 导入报表

报表设计器支持导入报表,支持导入ExcelPowerBuilder数据窗口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),设计完成后会点击保存,会保存到服务端文件, 下次再加载会显示保存的文件。

# 在线设计器

http://www.satrda.com/designer (opens new window)