彩票走势图

.net报表控件ActiveReports教程:运行时修改数据(附源码)

转帖|使用教程|编辑:鲍佳佳|2021-01-25 11:15:39.890|阅读 192 次

概述:前面的数据处理博文解释的,是“静态”的,即通过属性设置格式、输入数学表达式、使用ActiveReports内置的函数。下面我通过后台代码、脚本来实现“动态”,即运行时来修改数据内容或者UI控件的文字、颜色等属性内容。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

ActiveReports 是一款专注于 .NET 和 .NET Core 平台的报表控件。通过拖拽式报表设计器,可以快速地设计 Excel表格、Word文档、图表、数据过滤、数据钻取、精准套打等类型报表,全面满足 WinForm、ASP.NET、ASP.NET MVC、WPF 平台中各种报表的开发需要。同时,通过丰富的 API 可以灵活的实现报表创建、加载和运行时的个性化自定义需求。

前面的数据处理博文解释的,是“静态”的,即通过属性设置格式、输入数学表达式、使用ActiveReports内置的函数。下面我通过后台代码、脚本来实现“动态”,即运行时来修改数据内容或者UI控件的文字、颜色等属性内容。

点击下载ActiveReports最新版

页面报表:

我们通过脚本可实现在运行时修改数据。

添加页面报表后,回出现下的模板,脚本选项卡将会出现在报表设计器中,然后您可以在脚本选项卡中写入代码(VB.net)。

image

  • 返回未来30天的日期

脚本代码:

Public Function GetDueDate() as Date
 
    Return DateTime.Now.AddDays(30)
 
End Function

在 Textbox 控件的Value属性来调用此函数:

=Code.GetDueDate()
  • 使用自定义常量和变量

脚本代码:

Public Dim MyDoubleVersion As Double = 123.456

在 Textbox 控件的Value属性中使用之前定义的常量:

=Code.MyDoubleVersion
  • 使用全局参数集合

脚本代码:

Public Function ReturnParam() As String
 
Return "param value = " + Report.Parameters!ReportParameter1.value.ToString()
 
End Function

在 TextBox 控件的Value属性中调用全局集合:

=Code.ReturnParam()
  • 判断数据值返回颜色

脚本代码:

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

在Table的Detail中调用:

BackgroundColor=Code.GetColorByValue(Fields!产品ID.Value)

展示结果:

image

注意:

  • 在页面报表中,可以使用 Visual Basic.NET 作为脚本语言;
  • 在区域报表中,  可以使用 Visual Basic.NET 和 C# 语言作为脚本语言。

区域报表

脚本和后台代码,原理相同,用到了区域报表的事件,关于事件请阅读这篇博文《》。

区域报表强大的脚本编程能力,几乎无所不能,如可在脚本中控制报表的UI控件,非常方便。

不用UI调用,而是在脚本中控制UI控件,且非常好的兼容Visual Basic.NET 和 C# 语言。

此外,对习惯了使用Visual Studio的程序员而言,没有什么比能提供智能感知更爽的东西了:

智能感知提示

脚本代码:

public void Detail_Format()
{
	int id = Convert.ToInt32(this.TextBox3.Text);
	switch(id)
	{
		case 1:
			this.TextBox2.BackColor = Color.Red;
			break;
		case 2:
			this.TextBox2.BackColor = Color.Green;
			break;
		case 3:
			this.TextBox2.BackColor = Color.Blue;
			break;
		default:
			this.TextBox2.BackColor = Color.White;
			break;
	}
}

结果展现:

image

注意:

  • 使用 “this”(C#.net)“或者“Me”(VB.net)来引用报表对象
  • 后台代码中使用的是Private修饰符,在脚本编辑器中使用的是Public修饰符。

源码下载:

人民币金额小写转换为大写.zip (50.83 kb)


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP