ActiveReports 报表设计器设计不同报表:脚本

2025-11-05 23:42:39

1、页面/RDL报表中脚本的使用

通过脚本可实现在运行时修改数据。添加页面/RDL报表后,会出现如下的模板,脚本选项卡将会出现在报表设计器中,然后您可以在脚本选项卡中写入代码(VB.net)。

注意:在页面/RDL报表中,可以使用 Visual Basic.NET 作为脚本语言;

    页面/RDL报表支持多种不同的脚本类型,比如:

1)                   函数脚本

a.新建一个页面报表模板,并在模板中添加一个文本框控件

ActiveReports 报表设计器设计不同报表:脚本

2、b.在模板的脚本选项卡中写入如下脚本代码(VB.net):

Public Function GetDueDate() as Date

    Return DateTime.Now.AddDays(30) 

End Function

该函数的功能是返回未来30天的日期。

ActiveReports 报表设计器设计不同报表:脚本

3、c.在文本框控件的Value属性来调用此函数:Code.GetDueDate()

ActiveReports 报表设计器设计不同报表:脚本

ActiveReports 报表设计器设计不同报表:脚本

ActiveReports 报表设计器设计不同报表:脚本

4、d.预览

ActiveReports 报表设计器设计不同报表:脚本

5、2)                   使用自定义常量和变量

a.新建一个页面报表模板,并在模板中添加一个文本框控件

ActiveReports 报表设计器设计不同报表:脚本

6、b.在模板的脚本选项卡中写入如下脚本代码(VB.net):

Public Dim MyDoubleVersion As Double = 123.456

ActiveReports 报表设计器设计不同报表:脚本

7、c.在文本框控件的Value属性来调用此函数:Code.MyDoubleVersion

ActiveReports 报表设计器设计不同报表:脚本

ActiveReports 报表设计器设计不同报表:脚本

ActiveReports 报表设计器设计不同报表:脚本

8、d.预览

ActiveReports 报表设计器设计不同报表:脚本

9、3)                   使用全局参数集合

a.新建一个页面报表模板,并在模板中添加一个文本框控件;

ActiveReports 报表设计器设计不同报表:脚本

10、b.添加参数,打开 ActiveReports 报表资源管理器,在参数节点上点击鼠标右键,选择“添加参数”

ActiveReports 报表设计器设计不同报表:脚本

11、c.在打开的参数对话框中,设置参数的各项属性,在常规选项卡中点击按钮,参数名称、类型等默认值可以不做修改;在默认值选项卡中,选择非查询结果,并点击按钮,添加一个参数的默认值,点击确定,当然您也可以选择查询结果

ActiveReports 报表设计器设计不同报表:脚本

ActiveReports 报表设计器设计不同报表:脚本

ActiveReports 报表设计器设计不同报表:脚本

12、d.在模板的脚本选项卡中写入如下脚本代码(VB.net):

Public Function ReturnParam() As String

Return "param value = " + Report.Parameters!ReportParameter1.value.ToString()

End Function

ActiveReports 报表设计器设计不同报表:脚本

13、e.在文本框控件的Value属性来调用此函数:Code.ReturnParam()

ActiveReports 报表设计器设计不同报表:脚本

ActiveReports 报表设计器设计不同报表:脚本

ActiveReports 报表设计器设计不同报表:脚本

14、f.预览

ActiveReports 报表设计器设计不同报表:脚本

15、4)                   判断数据值返回颜色

a.重复6.3.1节的创建主报表模板,或者直接打开已经创建好的展示产品类别的主报表

ActiveReports 报表设计器设计不同报表:脚本

16、b.在模板的脚本选项卡中写入如下脚本代码(VB.net):

Public Function GetColorByValue(val As Integer) As System.ConsoleColor

    Select Case val

            Case 1

                   Return System.ConsoleColor.Blue

                   Exit Select

            Case 2

                   Return System.ConsoleColor.Red

                   Exit Select

            Case 3

                   Return System.ConsoleColor.Green

                   Exit Select

            Case Else

                   Return System.ConsoleColor.DarkYellow

                   Exit Select

    End Select

End Function

ActiveReports 报表设计器设计不同报表:脚本

17、c.选中表格控件的明细行,在BackgroundColor属性调用:BackgroundColor=Code.GetColorByVulue(Fields!类别ID.Value)

ActiveReports 报表设计器设计不同报表:脚本

ActiveReports 报表设计器设计不同报表:脚本

ActiveReports 报表设计器设计不同报表:脚本

18、d.预览

ActiveReports 报表设计器设计不同报表:脚本

19、区域报表中脚本的使用

区域报表强大的脚本编程能力,几乎无所不能,如可在脚本中控制报表的UI控件,非常方便。不用UI调用,而是在脚本中控制UI控件,且非常好的兼容Visual Basic.NET 和 C# 语言。

注意:在区域报表中,  可以使用 Visual Basic.NET 和 C# 语言作为脚本语言。

a.新建一个区域报表模板

ActiveReports 报表设计器设计不同报表:脚本

20、b.添加数据源和数据集

点击设计区域的明细前面的数据库图标,在弹出的对话框中选择一个数据连接类型,以OLE DB为例

ActiveReports 报表设计器设计不同报表:脚本

21、c.点击“建立连接“,在弹出的对话框中提供程序选项卡中选择OLE DB提供程序为Microsoft Jet 4.0 OLE DB Provider ,点击“下一步”

ActiveReports 报表设计器设计不同报表:脚本

22、d.在连接选项卡中选择或输入数据库的名称,点击按钮,选择本地数据库名称

ActiveReports 报表设计器设计不同报表:脚本

23、e.完成后点击“测试连接”,弹出连接成功的对话框,点击“确定”返回到报表数据源对话框

ActiveReports 报表设计器设计不同报表:脚本

24、f.在查询语句区域输入查询SQL语句:select 类别ID, 类别名称 from 类别

ActiveReports 报表设计器设计不同报表:脚本

25、g.点击“确定”返回到设计器,在右侧报表资源对话框的字段->绑定节点中发现增加了查询到的字段

ActiveReports 报表设计器设计不同报表:脚本

26、h.设计报表,将字段->绑定节点中的字段分别拖拽到明细区域;或者在明细区域添加两个文本框,然后将文本框的属性:DataField设置为相应的字段

ActiveReports 报表设计器设计不同报表:脚本

27、i.在模板的脚本选项卡中写入如下脚本代码(VB.net),其中txt类别ID1和txt类别名称1是相应文本框的名称。

public void 明细_Format()

{

       int id = Convert.ToInt32(this.txt类别ID1.Text);

       switch(id)

         {

          case 1:

                 this.txt类别名称1.BackColor = Color.Red;

                 break;

          case 2:

                 this.txt类别名称1.BackColor = Color.Green;

                 break;

          case 3:

                 this.txt类别名称1.BackColor = Color.Blue;

                 break;

          default:

                 this.txt类别名称1.BackColor = Color.White;

                 break;

   }

}

ActiveReports 报表设计器设计不同报表:脚本

28、j.预览

ActiveReports 报表设计器设计不同报表:脚本

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢