我有一个SAP Crystal Report,其中我从数据库获得的最大记录数为12.记录数量可以在0到12之间变化,具体取决于条件。现在我需要在Crystal Report中显示固定的12行,而不管从数据库中检索的记录数。
答案 0 :(得分:1)
我建议你在查询结果或DataTable
中添加新行,但是如你所愿,我可以建议你一个肮脏的方式 - 我还没有测试它 - :
如您所知,通过在其下方插入新部分,您可以拥有多个Detail
部分,Crystal Report会将其命名为a
,b
等等。
Detail
部分之后添加11个详细信息部分。Detail
部分会显示数据,而其下方的其他详细信息部分会显示空行。您可以添加一个矩形作为边框,然后......。Suppress
前面设置公式,像这个公式-in Crystal Syntax - :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();
答案 1 :(得分:0)
如果您有数据库访问权限。
使用您的表创建一个包含12个虚拟行和外部联接的视图。在这种情况下,无论数据表中的行数是多少,您都将获得所有12行