青山 水利报表制作说明
qq_1413773271706
2014年11月14日 10:29:49
来自于水利软件
只看楼主

一、报表的组成报表组成的基本原理:将Rptx样式区,根据行号、列名对应,往DLL中的业务数据的DataTable填入,最终形成一个DataTable 报表的组成:.dll(数据区) .rpt(基本信息) .rptx(样式区) .dll: 组织业务数据,返回的DataTable只包含业务数据,不需有xxx_flag, xxx_expand等 .rpt: 表头表尾,列名,列的基本信息等

一、报表的组成

报表组成的基本原理:将Rptx样式区,根据行号、列名对应,往DLL中的业务数据的DataTable填入,最终形成一个DataTable

报表的组成:.dll(数据区) .rpt(基本信息) .rptx(样式区)
.dll: 组织业务数据,返回的DataTable只包含业务数据,不需有xxx_flag, xxx_expand等
.rpt: 表头表尾,列名,列的基本信息等
.rptx: 报表表体的样式


二、Dll数据区
Dll数据区DataTable举例:



143104pnnslr11rrabbsbf.png.thumb 01.jpg


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样式区举例:


143248siipxluxn3z4flxn.png.thumb 02.jpg


第一行为列名,(新建的时候会从rpt中d003中提取列名)
保证RowGroup与DLL区中的RowGroup对应
保证列名与DLL区中的DataTable中的列名对应

如果出现不定条数的循环的数据,例如多条材料或者多条定额,RowGroup只需要一行数据即可
表头表脚的设计:

143355k84h0da84nr4mn44.png.thumb 03.jpg



表头表脚可以控制行的显隐状态
其他设置与表体一致:
可以进行行列的添加删除,合并单元格,修改、调整数据等







锦瑞青山四川成都总部:
电话:028-85447927
地址:成都市人民南路三段17号附1号华西美庐A座23C
公司群号: 41185380



143104pnnslr11rrabbsbf.png.thumb 01.jpg


143248siipxluxn3z4flxn.png.thumb 02.jpg


143355k84h0da84nr4mn44.png.thumb 03.jpg

免费打赏

相关推荐

APP内打开