显示Crystal Report详细信息部分到每组组页脚的记录

时间:2015-05-13 09:23:38

标签: c# asp.net crystal-reports crystal-reports-2010 crystal-reports-xi

我制作了一份Crystal Report,每个地点都有一组租户。每个租户都按其当前和上个月的所有销售情况进行查看。在某些情况下,租户目前的销售状态是关闭的。我需要做的是过滤所有这些租户并将它们放入Group Footer PER GROUP / PER LOCATION。目前我的代码是让所有租户处于关闭状态并在所有页面中显示。

代码:

公式1

 whilereadingrecords;
    stringvar strtitle;

    if ({@CurrentMonthNew}) = "CLOSED" and ({@PreviousMonthNew}) <> "CLOSED"
    THEN
    strtitle := strtitle + ">" + {spMSR;1.name}

公式2:将实际公式放在部分细节之外作为注释

evaluateafter({@notes});
stringvar strtitle;

如何对每个位置组进行过滤。请参阅此图像以了解报告结构

enter image description here

2 个答案:

答案 0 :(得分:1)

UNTESTED 可能会有一些拼写错误,但这应该让你开始假设我理解你的问题。

公式1 //放置在第2组标题中并禁止,以便您无法看到它

    Whilereadingrecords;
    global stringvar notes = "";

公式2 //详细位置部分已被禁止,因此您无法看到它

Whilereadingrecords;
global stringvar notes;
if {table.yearcurrentfield} = 'CLOSED' then Notes := Notes & " " & {table.Notes field}

第2组中的公式3 //未被抑制

global stringvar notes;

答案 1 :(得分:0)

根据CoSpringGuy的有用答案,我找到了正确解决问题的正确答案

使用3路方法公式

公式1:在组头中

Whileprintingrecords;
stringvar strtitle := "";
numbervar var :=0;

公式2:在详细信息部分中,您想要的条件

Whileprintingrecords;

stringvar strtitle;
numbervar var;

if ({@CurrentMonthNew}) = "CLOSED" and ({@PreviousMonthNew}) <> "CLOSED"
THEN
strtitle := strtitle   + ChrW(13) + {spMSR;1.name}

公式3:在组页脚中,要在报告上显示的实际内容

whileprintingrecords;
stringvar strtitle;

使用whileprintingrecord代替whilereadingrecord来处理生成笔记的每组功能。