通过设置table的DynamicArea属性使得一个table具有动态增加、删除行的功能,成为明细表。

成为明细表

  • 设置table的DynamicArea属性
  • 在流程中指定table绑定的数据库表为重复表
  • 明细表设置主键

设置DynamicArea属性

明细表由表头、表身、表尾构成,通过DynamicArea属性可指定动态区域的范围,也即表身的范围。

StartRowIndex:表身起始行(从0开始计数,table的第一行为0

RowCount:模板的行数(通常为1)

比如DynamicArea(2,1)表示从第三行开始,重复一行。

流程上设置重复表

明细表中包含了输入项,输入项绑定到的表即为明细表绑定数据库表,明细表中的所有输入项应绑定到同一个数据库表。

需要在流程上将明细表绑定的数据库表,设置为“可重复表”。

明细表设置主键

明细表绑定到的数据库表,必需设置主键。

当在填单过程中行数据发生变更时,系统是通过行的主键来区分、更新对应的数据库行。

OrderIndex

明细表数据可以上移、下移、插入、删除,会导致在打开表单时看到的数据行顺序和填单时不同。

通过给明细表添加OrderIndex(int类型)列,可以保证每次打开表单看到的明细表数据顺序,始终和填单时的顺序保持一致。

OrderIndex只需添加列即可,该列的值系统会自动维护。

明细表效果

进阶

明细表可自动带出数据、支持嵌套(即多重明细表),将在后续章节中介绍。

Created with the Personal Edition of HelpNDoc: Free CHM Help documentation generator