我有一个SAP Crystal Report,其中我从数据库中获得的最大记录为12。记录的数量可以在0到12之间变化,具体取决于条件。现在我需要在Crystal Report中显示固定的12行,而不管从数据库中检索到的记录数是多少。
nx7onnlm1#
我建议你在查询结果或DataTable中添加新行,但如果你想要的话,我可以建议你一个肮脏的方法-我还不测试它-:如你所知,你可以通过在Detail下面插入新的节来拥有多个Detail节,Crystal Report会将它们命名为a,b等。
DataTable
Detail
a
b
Suppress
if count({your filed}) < 12 then false else true
注:
12用于第二细节部分,其将用于其他部分。对于我自己在c#中使用这样的方法(这是最简单的方法):
DataTable dt = new DataTable(); dt = /* query result */; for (int i = 12; i > dt.Rows.Count; i--) DataRow dr = dt.NewRow();
eh57zj3b2#
如果你有数据库访问权限。创建一个包含12个虚拟行的视图,并与表进行外部连接。在这种情况下,您将得到所有12行,而不考虑数据表中的行数
2条答案
按热度按时间nx7onnlm1#
我建议你在查询结果或
DataTable
中添加新行,但如果你想要的话,我可以建议你一个肮脏的方法-我还不测试它-:如你所知,你可以通过在
Detail
下面插入新的节来拥有多个Detail
节,Crystal Report会将它们命名为a
,b
等。Detail
部分之后添加11个细节部分。Detail
部分与数据,和其他细节部分,它下面有一个空行,你可以添加一个矩形作为边界和....Suppress
通过点击公式按钮,像这样的公式-在晶体语法-:注:
12用于第二细节部分,其将用于其他部分。
对于我自己在c#中使用这样的方法(这是最简单的方法):
eh57zj3b2#
如果你有数据库访问权限。
创建一个包含12个虚拟行的视图,并与表进行外部连接。在这种情况下,您将得到所有12行,而不考虑数据表中的行数