0

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

我需要在可视化编辑器不允许我做的报告中添加一些计算(它仅限于计数、总和、最小值、最大值、平均值、方差,所以没有真正的帮助)。现在计算非常简单(一个是总 x 0.7,另一个是第一个 x 74 的结果,但这个值将来可能会改变)。认为最好的方法是只有 2 个文本框,每个文本框的值为“0”,然后在主报告完成后运行计算并替换两个文本框的值。所以我在适当的部分制作了文本框,并将它们标记为 CalcTotal1 和 CalcTotal2。

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

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

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

我曾尝试查看 Active Reports 的文档,但运气不佳,因此非常欢迎任何想法。

4

2 回答 2

1

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

this.CalcTotal1.Test = "Hello";

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

于 2014-08-19T05:32:16.617 回答
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";

}
于 2014-08-20T06:25:06.797 回答