修复了Crystal报表中的记录数

时间:2015-04-27 07:52:27

标签: c# asp.net crystal-reports sap

我有一个SAP Crystal Report,其中我从数据库获得的最大记录数为12.记录数量可以在0到12之间变化,具体取决于条件。现在我需要在Crystal Report中显示固定的12行,而不管从数据库中检索的记录数。

2 个答案:

答案 0 :(得分:1)

我建议你在查询结果或DataTable中添加新行,但是如你所愿,我可以建议你一个肮脏的方式 - 我还没有测试它 - :

如您所知,通过在其下方插入新部分,您可以拥有多个Detail部分,Crystal Report会将其命名为ab等等。

  • 现在,您可以在当前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行