我有一个包含2列的报告,我正在尝试格式化使用多列,在布局中我检查了Accross然后Down,因为我想显示每列的记录余额:
+----+------------+----+------------+
|No. | Data |No. | Data |
+----+------------+----+------------+
|1 | Data1 |2 | Data2 |
|3 | Data1 |4 | Data2 |
|5 | Data1 |6 | Data2 |
+----+------------+----+------------+
或
+----+------------+----+------------+
|No. | Data |No. | Data |
+----+------------+----+------------+
|1 | Data1 |2 | Data2 |
|3 | Data1 | | |
+----+------------+----+------------+
但是我希望显示连续垂直的记录编号,如下所示:
+----+------------+----+------------+
|No. | Data |No. | Data |
+----+------------+----+------------+
|1 | Data1 |4 | Data2 |
|2 | Data1 |5 | Data2 |
|3 | Data1 |6 | Data2 |
+----+------------+----+------------+
我试图创建一个公式,但结果不是我想要的。你能帮我解决一下我的问题吗?
答案 0 :(得分:1)
确定遵循以下方法:
获取两个子报告并详细说明:
first sub report for Data1 //limit the size of sub report to number of columns
Second sub report for Data2 // place adjacent to sub report 1 and limit size
在子报告1
创建公式@Reset
并放入Report Header
Shared NumberVar count;
count:=0;
再创建一个公式@Display
,并在问题的No
字段中详细说明。
Shared Numbervar count;
Shared Numbervar store;
count:=count+1;
store:=count;
count;
现在您已经为column1编号了数据。
Data2
的第二个子报告。在你的问题中再创建一个公式@Display
,并在问题的No
字段中详细说明。
Shared Numbervar store;
store:=store+1;
现在您的号码为data2
。
让我知道任何问题。
答案 1 :(得分:0)
我找到了答案,这里的公式:
NumberVar nMidData := RoundUp(count({Table.data})/2);
NumberVar nRecord := count({Table.data});
WhilePrintingRecords;
if ((RecordNumber>=1) and (RecordNumber mod 2)=1) then
(
NumberVar RecNoLeft:=RecNoLeft+1;
)
else if ((Recordnumber>=2) and (RecordNumber mod 2)=0) then
(
NumberVar RecNoRight:=RecNoRight+1;
nMidData+RecNoRight;
)
我将此公式详细列为No
列。