C# ActiveReports中文本框控件的简单设置器

C# ActiveReports中文本框控件的简单设置器,c#,activereports,C#,Activereports,如何访问ActiveReports 3.1中的TextBox控件。当我使用ActiveReport 6或更高版本时,下一个代码就像符咒一样工作(我有Textbox和Name属性“TextBox1”),但在3.0版本中,它的代码不正确: this.TextBox1.Text = "Test"; 出现编译错误“TextBox1没有定义”(在6.0中),工作正常。如何强制此代码正确执行? 下面是来自rpx文件的代码 <?xml version="1.0" encoding="utf-16"?&

如何访问ActiveReports 3.1中的
TextBox
控件。当我使用ActiveReport 6或更高版本时,下一个代码就像符咒一样工作(我有
Textbox
Name
属性
“TextBox1”
),但在3.0版本中,它的代码不正确:

this.TextBox1.Text = "Test";
出现编译错误“TextBox1没有定义”(在6.0中),工作正常。如何强制此代码正确执行? 下面是来自rpx文件的代码

<?xml version="1.0" encoding="utf-16"?>
<ActiveReportsLayout Version="3.1" PrintWidth="9360" DocumentName="ARNet Document" ScriptLang="C#" MasterReport="0">
  <StyleSheet>
    <Style Name="Normal" Value="font-family: Arial; font-style: normal; text-decoration: none; font-weight: normal; font-size: 10pt; color: Black" />
    <Style Name="Heading1" Value="font-size: 16pt; font-weight: bold" />
    <Style Name="Heading2" Value="font-family: Times New Roman; font-size: 14pt; font-weight: bold; font-style: italic" />
    <Style Name="Heading3" Value="font-size: 13pt; font-weight: bold" />
  </StyleSheet>
  <Sections>
    <Section Type="PageHeader" Name="PageHeader1" Height="360" BackColor="16777215" />
    <Section Type="Detail" Name="Detail1" Height="2880" BackColor="16777215">
      <Control Type="AR.Field" Name="TextBox1" Left="1700.787" Top="1247.244" Width="1360.63" Height="340.1574" Text="TextBox1" />
    </Section>
    <Section Type="PageFooter" Name="PageFooter1" Height="360" BackColor="16777215" />
  </Sections>
  <ReportComponentTray />
  <Script><![CDATA[public void Detail1_Format()
{
    this.TextBox1.Text = "test";
}public void ActiveReport_ReportStart()
{

}


]]></Script>
  <PageSettings />
  <Parameters />
</ActiveReportsLayout>

这里是错误

能否确保报告中有一个名为“TextBox1”的textbox控件?名称在C#中区分大小写。可能有一个名为“textBox1”的报告。看起来您在基于XML的(.rpx)报告中使用的是脚本,而不是纯粹基于代码的报告。在旧版本的ActiveReports中使用基于XML的报告(.rpx文件)时,必须通过集合访问控件,如下所示:

((DataDynamics.ActiveReports.TextBox)rpt.Sections["Detail1"].Controls["TextBox1"]).Text = "Hello World";
this.TextBox1.Text = "Hello World";
但是,在当前版本的ActiveReports(ActiveReports 7)中,此限制已被删除,因此您可以按如下方式编写代码:

((DataDynamics.ActiveReports.TextBox)rpt.Sections["Detail1"].Controls["TextBox1"]).Text = "Hello World";
this.TextBox1.Text = "Hello World";

我绝对相信这个名字是正确的。在ActiveReports 6中,相同的代码在没有错误的情况下工作。我认为名称空间有问题,但有什么可能是错误的??xml控件的定义和c#处理程序是否在同一名称空间中?它应该可以工作。你能创建一个简单的报告并将报告的全部代码放到你的问题中吗?@scott plese在问题的编辑中找到代码这非常有用!请看下面我的答案。我想你的意思是
((DataDynamics.ActiveReports.TextBox)rpt.Sections[“Detail1”]。Controls[“TextBox1”])。Text=“Hello world”请编辑答案!我总是后悔没有测试我的代码!是的,我加入了演员阵容。