在皕杰报表如何设置序号系列之一里,我们用ds.#0来实现了序号,用ds.#0得到的数据库中选取的记录的序号。有些情况下,记录序号在报表中不是按照顺序显示的,而是在报表中又通过排序或分组后的结果显示的,例如:

打开皕杰报表设计器,打开我们原来用过的报表:(A2单元格的数据值和显示值还是与上次示例中的一致,即:数据值=mod(ds.#0,20),显示值=if(@value=0,20,@value))

其中: 将B2单元格改为=ds.select(订单ID,true),预览效果如下:

可以看出,数据的记录条数并没有按照其从数据库中select出来的顺序显示,那么这种情况下如何显示序号呢?

皕杰报表提供了一个可以给可扩展的单元格自动加序号的操作符&,本文就来给大家介绍一下此操作符的用法。

表达式:&Cellx(例如:&A2 )
返回值:整数,当前格所属的Cellx主格在所有扩展出来的格子中的排序
说明:Cellx必须是当前格的主格,这样&Cellx才能够正确运算,其返回值相当于是当前格所属的Cellx主格的位置

我们还以上次的例子来看看如何用&操作符,将上次例子中的A2的数字值修改为=mod(&b2,20),显示值依然为=if(@value=0,20,@value)),a2的主格是b2,设计示例如下:

预览报表显示效果如下:

至此,我们又学会一种实现记录序号的方法。