无法使用Active Reports引用标签

时间:2014-08-19 01:17:56

标签: c# activereports myob

好的,首先,这是我第一次使用C#,最重要的是我试图在MYOBs AEPM软件的报告编辑器中使用它,这并没有给我很多帮助信息或灵活性。我能够解决的是它使用了某种版本的Data Dynamics Active Reports,但不确定是哪一种。我似乎无法弄清楚他们在报告的大部分内容中使用了哪些命名。无论如何,回到主要问题。

我需要在视觉编辑器不允许我做的报告中添加一些计算(它仅限于Count,Sum,Min,Max,Avg,Var,所以不太有帮助)。现在计算非常简单(一个是总x .7,另一个是第一个x 74的结果,但是这个值将来可能会改变)。想想最好的方法就是只有两个文本框,每个文本框的值都为“0”,然后只要主报告完成一次,就运行计算并替换两个文本框的值。所以我在相应的部分中创建了文本框,并将它们标记为CalcTotal1和CalcTotal2。

现在在编辑器中它允许我选择对象和事件来触发它,因此选择ReportFooter作为对象,选择AfterPrint作为事件。然后,我只是放入一行来获取CalcTotal1值,并尝试生成报告,从而导致以下错误:

  

错误消息:第8行报告脚本编译错误错误=当前上下文中不存在名称“CalcTotal1”

public void ReportFooter_AfterPrint()
{
    CalcTotal1.Text = "Hello";
}

我已经尝试查看Active Reports的文档,但我没有太多运气,所以任何想法都会非常受欢迎。

2 个答案:

答案 0 :(得分:1)

只需在代码中添加“this”字样,如

this.CalcTotal1.Test = "Hello";

http://helpcentral.componentone.com/nethelp/AR8Help/AR8_HelpOnlineEN/Scripts.html提供了更多提示。

答案 1 :(得分:0)

提到的MYOB AE PM功能称为智能报告。 我能够复制错误,从而通过使用以下语法解决问题:

((TextBox)rpt.Sections["Detail"].Controls["TextBox2"]).Text= "$2000.00";

例如:

public void Detail_AfterPrint()
{
((TextBox)rpt.Sections["Detail"].Controls["TextBox2"]).Text= "$2000.00";

}