如何在Crystal Report中合并行?

4
我正在使用Crystal Report版本10.2,Visual Studio 2008,并在报表中显示存储过程的结果。我的存储过程返回以下输出:
(见第一张图片)
但我想在报表中显示如下结果:
(见第二张图片)
谢谢。

1
尝试使用分组来隐藏共同的值。HTH - Thinhbk
2
试试这个链接:http://www.eggheadcafe.com/community/csharp/2/10275456/how-to-do-grouping-in-crystal-report-in-cnet.aspx希望对你有所帮助。 - Thinhbk
3个回答

9

使用分组来处理Com No.,并将子状态和日期的详细信息放在详细信息部分。

最初它会看起来像这样:

---------------------------------------------
Com No.  |  Desc.    |   Status  |  Date     |
---------------------------------------------
   1     |   a       |
                     |    sub    | 01/01/2012|
                     |    ack    | 02/01/2012|
                     |    inv    | 03/01/2012|
---------------------------------------------

然后:

使用“分组专家”并将覆盖设置为该组,这样您就会得到以下结果:

---------------------------------------------
Com No.  |  Desc.    |   Status  |  Date     |
---------------------------------------------
   1     |   a       |    sub    | 01/01/2012|
                     |    ack    | 02/01/2012|
                     |    inv    | 03/01/2012|
---------------------------------------------

Com NoDesc 的值放在方框中间比较棘手。如果你知道详细信息部分的行数,可以按比例增加组标题的高度来达到结果:
---------------------------------------------
Com No.  |  Desc.    |   Status  |  Date     |
---------------------------------------------
                     |    sub    | 01/01/2012|
   1     |   a       |    ack    | 02/01/2012|
                     |    inv    | 03/01/2012|
---------------------------------------------

我从存储过程中获取的数据是马拉地语,但报表显示为“/”。有没有办法在报表中显示马拉地语的数据? - d.Siva
这是一个Web应用还是Windows应用?在Web应用中,您需要在浏览器上启用语言支持。同时,请查看UTF-8的输出设置。 - Kangkan
我在我的WebApp中使用Unicode来处理马拉地语,所以只需将字体更改为Unicode即可解决我的问题。 - d.Siva
1
谢谢,我遇到了类似的问题,花了一周时间寻找解决方案,直到看到了你的答案,非常棒。 - Hensembryan
你能详细说明一下最后一步吗? - andySF
@andySF 最后一步是将内容垂直居中对齐。这很棘手。如果您知道详细部分中的垂直空间(行数),则可以正确放置它。在此示例中,详细部分有三行。因此,将标题部分与一行的空格一起使用即可。我不知道Crystal报告的后续版本是否有改进。我已经很多年没有使用过了。 - Kangkan

0

第一步

  1. 创建运行总计
  2. 选择“com no”
  3. 汇总将是计数
  4. 对于每条记录。
  5. 更改组上的选择重置
  6. 将运行总计保存为 rtotal

第二步

  1. 创建一个公式名称为 total
  2. 添加此 "ceiling(count(Status,ComNo)/2)" 此公式将找到中间点。
  3. 保存公式

第三步

  1. 创建另一个公式名称为 isSupress
  2. 添加此 "if(#rtotal=total) then false else true"
  3. 保存公式

第四步

  1. 选择“com no”。
  2. 格式化对象->抑制->公式
  3. 只需放置 issupress 公式
  4. 保存抑制公式。

运行报告。


0

或者你可以使用交叉表格来显示数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接