一、报表的组成
报表组成的基本原理:将Rptx样式区,根据行号、列名对应,往DLL中的业务数据的DataTable填入,最终形成一个DataTable
报表的组成:.dll(数据区) .rpt(基本信息) .rptx(样式区)
.dll: 组织业务数据,返回的DataTable只包含业务数据,不需有xxx_flag, xxx_expand等
.rpt: 表头表尾,列名,列的基本信息等
.rptx: 报表表体的样式
二、Dll数据区
Dll数据区DataTable举例:
RowGroup为行标识:
RowGroup的值不能为空
RowGroup = -1, 分页
RowGroup = -3, 宏变量
RowGroup = 1003,置于页末的行
RowGroup = 1~999,正常的数据行
程序会传入一个带宏变量的dataTable
填写以下两个函数内容:
public static string[] getColumns()
{
string[] columns = new string[] { "xh", "clmc", "clgg", "cldw", "yj", "dj", "gytj", "bz", "pxh", "clbm" };
return columns;
}
根据rptx样式区,输入dataTable的列名,保证与样式区的列名对应
private static DataTable GetBusinessData(DataSet ds, DataTable dt)
完善dataTable的相关业务数据和RowGroup
如果出现不定条数的循环的数据,例如多条材料或者多条定额,RowGroup的值相同
三、rpt基本信息
Rpt 文件中需要加入一个节点[SOURCE],例如:
[SOURCE]
rpt=全国02_通用_工程预算总表.rpt
dll=全国02_通用_工程预算总表.dll
rptx=全国02_通用_工程预算总表.rptx
type=rptx
[/SOURCE]
在用户报表中只会存在rpt,rptx文件,为了找到报表对应的数据区,根据节点信息去查找相应的dll数据
表头表脚的信息都是从rpt中提取
四、rptx基本信息
Rptx样式区举例:
第一行为列名,(新建的时候会从rpt中d003中提取列名)
保证RowGroup与DLL区中的RowGroup对应
保证列名与DLL区中的DataTable中的列名对应
如果出现不定条数的循环的数据,例如多条材料或者多条定额,RowGroup只需要一行数据即可
表头表脚的设计:
表头表脚可以控制行的显隐状态
其他设置与表体一致:
可以进行行列的添加删除,合并单元格,修改、调整数据等
锦瑞青山四川成都总部:
电话:028-85447927
地址:成都市人民南路三段17号附1号华西美庐A座23C
公司群号: 41185380
全部回复(1 )
只看楼主 我来说两句 抢板凳回复 举报