2011-07-26 39 views
0

使用Crystal Reports 10和vb6/classic(尽管我期望它在任何语言中都是相同的), 可以动态地从代码更改组标题部分的抑制公式。Crystal Reports - 编程改变组标题抑制公式

我基本上根据用户输入动态地改变特定组上的GroupConditionField,但在该组头上有抑制字段公式,其中包含对分组总和的检查。

Sum ({@ColourTotal}, {Table.Field}) =0 

如果这是真的话,那么该组被取消。这显然出现了一个错误,抱怨当GroupConditionField通过代码更改时找不到组。

那么有没有办法从代码内改变特定组的抑制公式?

希望有道理, 谢谢。

回答

0

我相信我已经找到了一种方法使用组选择公式做下 报告 - >选择公式 - >实际报告中的组。

不理想,会涉及一些重新格式化,但应该工作。

0

我很抱歉,这是C#,但我有它得心应手。我需要如此相似的东西,所以我有一个公式,我可以从我的程序中设置一个值。报告检查此值以决定是否抑制。我怀疑你可以用相同的技术来改变公式,但我懒得去测试我的自我。

report.DataDefinition.FormulaFields["Florida"].Text = (Convert.ToBoolean(option.EffectiveValue) == true ? "1" : "0"); 

该代码只是设置公式字段,“佛罗里达”为0或1。

+0

不幸的是,这种方法不适用于我的情况,因为我无法使用公式字段来指示是否抑制或不抑制是否在报告内部的分组阶段完成。此外,我也寻找类似的方法来改变组头压制公式,但我不认为API暴露给我们,只有直接的公式字段,因为你在这里做。 – Richy321