在使用报表工具制作报表的过程中,常常需要对报表中的记录进行序号的编排。无论是出于报表实际的需要,还是作为报表制作的中间过程,序号已经成了报表不可或缺的一部分,是web报表工具的一种广泛需求。
基于这个需求的广泛存在,本文就来详细介绍一下快逸报表下的几种序号生成方法,在实际的制作过程中可选取不同的方法以达到相应的效果。
一、 使用row()函数
row()函数是快逸报表的一个内置函数,用其可以取得当前单元格所在行的行号。
第一步:连接demo数据源并新建报表,在新建的报表文件中定义数据集ds1,ds2,SQL语句如下:
ds1:SELECT 订单.订单ID,订单.客户ID,订单.发货日期,订单.到货日期,订单.货主城市,订单.运货商,订单.运货费 FROM 订单
ds2:SELECT 客户.客户ID,客户.公司名称 FROM 客户
第二步:设置单元格表达式:
B3: =ds1.select(订单ID)
C3:=ds1.客户ID
设置显示值表达式为:ds2.select1(公司名称,客户ID==value())
D3: =ds1.发货日期
设置显示格式为:yyyy-MM-dd
E3:=ds1.到货日期
设置显示格式为:yyyy-MM-dd
F3:=ds1.货主城市
G3:=ds1.运货商
H3:=ds1.运货费
设置显示格式为:¥#0.00
具体报表样式如图所示:
第三步:设置主格:
设置B3的左主格为:`0,A2的左主格为:B3
第四步:在A2单元格中填入:=row()-2,由于A3单元格在第三行,所以要减2
第五步:发布报表后预览如图所示:
二、 使用临时变量
设置A2单元格值表达式为:a=0,显示值为:序号;A3单元格值表达式为:a=a+1,如图所示:
其他设置同第一种方法,生成序号效果也同上面方法的效果一样。
三、使用”&”运算符
对于组内序号,可以采用”&”运算符,如果报表未分组,则可以用其进行全部记录序号生成。在此不进行分组而沿用上面的例子。
设置A3单元格表达式为:=&B3,如图所示:
其他设置同第一种方法,生成序号效果同第一种方法的预览效果一样。
基于这个需求的广泛存在,本文就来详细介绍一下快逸报表下的几种序号生成方法,在实际的制作过程中可选取不同的方法以达到相应的效果。
一、 使用row()函数
row()函数是快逸报表的一个内置函数,用其可以取得当前单元格所在行的行号。
第一步:连接demo数据源并新建报表,在新建的报表文件中定义数据集ds1,ds2,SQL语句如下:
ds1:SELECT 订单.订单ID,订单.客户ID,订单.发货日期,订单.到货日期,订单.货主城市,订单.运货商,订单.运货费 FROM 订单
ds2:SELECT 客户.客户ID,客户.公司名称 FROM 客户
第二步:设置单元格表达式:
B3: =ds1.select(订单ID)
C3:=ds1.客户ID
设置显示值表达式为:ds2.select1(公司名称,客户ID==value())
D3: =ds1.发货日期
设置显示格式为:yyyy-MM-dd
E3:=ds1.到货日期
设置显示格式为:yyyy-MM-dd
F3:=ds1.货主城市
G3:=ds1.运货商
H3:=ds1.运货费
设置显示格式为:¥#0.00
具体报表样式如图所示:
第三步:设置主格:
设置B3的左主格为:`0,A2的左主格为:B3
第四步:在A2单元格中填入:=row()-2,由于A3单元格在第三行,所以要减2
第五步:发布报表后预览如图所示:
二、 使用临时变量
设置A2单元格值表达式为:a=0,显示值为:序号;A3单元格值表达式为:a=a+1,如图所示:
其他设置同第一种方法,生成序号效果也同上面方法的效果一样。
三、使用”&”运算符
对于组内序号,可以采用”&”运算符,如果报表未分组,则可以用其进行全部记录序号生成。在此不进行分组而沿用上面的例子。
设置A3单元格表达式为:=&B3,如图所示:
其他设置同第一种方法,生成序号效果同第一种方法的预览效果一样。
总结:以上介绍了三种方法用于生成连续序号,其中的关键是要设置序号所在单元格跟随B3扩展,即将其左主格设为B3。而对于三种实现方法,可以在实际的应用中根据不同的需要而选择不同的实现方法。
引用连接:http://blog.tianya.cn/blogger/post_read.asp?BlogID=3530792&PostID=31537111