ActiveReports 报表设计器设计不同报表:脚本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ActiveReports 报表设计器设计不同报表:脚本
上一节的公式与自定义函数所讲的数据处理都是“静态”的,即通过属性设置格式、输入数学表达式、使用ActiveReports内置的函数。本节讲述如何通过后台代码、脚本来实现“动态”,即运行时来修改数据内容或者UI控件的文字、颜色等属性内容。
目录:
◆页面/RDL报表中脚本的使用
◆区域报表中脚本的使用
页面/RDL报表中脚本的使用
通过脚本可实现在运行时修改数据。添加页面/RDL报表后,会出现如下的模板,脚本选项卡将会出现在报表设计器中,然后您可以在脚本选项卡中写入代码()。
注意:在页面/RDL报表中,可以使用Visual 作为脚本语言;
页面/RDL报表支持多种不同的脚本类型,比如:
1)函数脚本
a.新建一个页面报表模板,并在模板中添加一个文本框控件;
b.在模板的脚本选项卡中写入如下脚本代码():
Public Function GetDueDate() as Date
Return DateTime.Now.AddDays(30)
End Function
该函数的功能是返回未来30天的日期。
c.在文本框控件的Value属性来调用此函数:Code.GetDueDate()
d.预览
2)使用自定义常量和变量
a.新建一个页面报表模板,并在模板中添加一个文本框控件;
a.在模板的脚本选项卡中写入如下脚本代码():Public Dim MyDoubleVersion As Double = 123.456
b.在文本框控件的Value属性来调用此函数:Code.MyDoubleVersion
a.预览
3)使用全局参数集合
a.新建一个页面报表模板,并在模板中添加一个文本框控件;
b.添加参数,打开ActiveReports 报表资源管理器,在参数节点上点击鼠标右键,选择
“添加参数”;
c.在打开的参数对话框中,设置参数的各项属性,在常规选项卡中点击按钮,参数名称、
类型等默认值可以不做修改;在默认值选项卡中,选择非查询结果,并点击按钮,添加一个参数的默认值,点击确定,当然您也可以选择查询结果;
d.在模板的脚本选项卡中写入如下脚本代码():
Public Function ReturnParam() As String
Return "param value = " + Report.Parameters!ReportParameter1.value.ToString()
End Function
e.在文本框控件的Value属性来调用此函数:Code.ReturnParam()
f.预览
4)判断数据值返回颜色
a.重复6.3.1节的创建主报表模板,或者直接打开已经创建好的展示产品类别的主报表;
b.在模板的脚本选项卡中写入如下脚本代码():
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
c.选中表格控件的明细行,在BackgroundColor属性调用:
BackgroundColor=Code.GetColorByVulue(Fields!类别ID.Value)
d.预览
6.5.1 区域报表中脚本的使用
区域报表强大的脚本编程能力,几乎无所不能,如可在脚本中控制报表的UI控件,非常方便。不用UI调用,而是在脚本中控制UI控件,且非常好的兼容Visual 和C# 语言。
注意:在区域报表中, 可以使用Visual 和C# 语言作为脚本语言。
a.新建一个区域报表模板;
b.添加数据源和数据集
点击设计区域的明细前面的数据库图标,在弹出的对话框中选择一个数据连接类型,以OLE DB为例;
c.点击“建立连接“,在弹出的对话框中提供程序选项卡中选择OLE DB提供程序为
Microsoft Jet 4.0 OLE DB Provider ,点击“下一步”;
d.在连接选项卡中选择或输入数据库的名称,点击按钮,选择本地数据库名称;
e.完成后点击“测试连接”,弹出连接成功的对话框,点击“确定”返回到报表数据源对
话框;
f.在查询语句区域输入查询SQL语句:select 类别ID, 类别名称from 类别
g.点击“确定”返回到设计器,在右侧报表资源对话框的字段->绑定节点中发现增加了查
询到的字段;
h.设计报表,将字段->绑定节点中的字段分别拖拽到明细区域;或者在明细区域添加两个
文本框,然后将文本框的属性:DataField设置为相应的字段;
i.在模板的脚本选项卡中写入如下脚本代码(),其中txt类别ID1和txt类别名称
1是相应文本框的名称。
public void 明细_Format()
{
int id = Convert.ToInt32(this.txt类别ID1.T ext);
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;