Stimulsoft Reports.Net示例演示:WinForms 类别中具有自动更新功能的实时报告预览

发布时间 : 2021-09-23 14:05:53.747|阅读 95 次

概述:此示例构建具有自动内容更新的实时实时报告。

相关链接:

Stimulsoft Ultimate是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。

Stimulsoft Reports不仅拥有强大的报表导出系统,而且还支持多种报表导出格式,拥有简单且强大的报表引擎。Stimulsoft Reports基本原则是,用简单常规的方法创建报表,将不同的技术应用于应用程序。Stimulsoft Reports .NET一个基于.NET框架的报表生成器,能够帮助你创建结构、功能丰富的报表。不仅界面友好,而且使用便捷,能够让你轻松创建所有报表。

点击下载Stimulsoft Reports .NET v2021.3.1最新版

此示例构建具有自动内容更新的实时实时报告。例如,使用带有一些文本的报表和带有两个系列的图表。Form1()初始化方法中,找到必要的报表组件。报告从应用程序资源加载:

private StiText text = null;
private StiChart chart = null;

public Form1()
{
	//
	// Required for Windows Form Designer support
	//
	InitializeComponent();
	
	stiReport1.Render();
	StiComponentsCollection comps = stiReport1.RenderedPages[0].GetComponents();
	text = comps["Text1"] as StiText;
	chart = comps["Chart1"] as StiChart;
}
timer1_Tick定时器事件改变所选择的报告组件(如角度)的属性,并重绘报告。首先,应用文本旋转:

private System.Windows.Forms.Timer timer1;

private void timer1_Tick(object sender, System.EventArgs e)
{
	if (text == null)return;
	
	// Rotate text
	float angle = text.TextOptions.Angle;
	angle -= 1f;
	if (angle < 0) angle = 359;
	text.TextOptions.Angle = angle;

...
接下来,由于图表样本有两个系列,因此应对每个系列进行旋转:

...

	// Rotate series 1
	angle = ((StiDoughnutSeries)chart.Series[0]).StartAngle;
	angle -= 1f;
	if (angle < 0) angle = 359;
	((StiDoughnutSeries)chart.Series[0]).StartAngle = angle;
	
	// Rotate series 2
	angle = ((StiDoughnutSeries)chart.Series[1]).StartAngle;
	angle += 1f;
	if (angle > 359) angle = 0;
	((StiDoughnutSeries)chart.Series[1]).StartAngle = angle;

...
最后,实时更新报告:

...

	RectangleD rect = stiPreviewControl1.GetComponentRect(text);
	stiPreviewControl1.InvalidatePageRect(rect.ToRectangle());
	
	rect = stiPreviewControl1.GetComponentRect(chart);
	stiPreviewControl1.InvalidatePageRect(rect.ToRectangle());
	//stiPreviewControl1.View.Invalidate();
}
在下面的屏幕截图中,您可以看到示例代码的结果:

Stimulsoft Reports.Net示例演示:WinForms 类别中具有自动更新功能的实时报告预览


Aspose、E-iceblue、FastReport、Stimulsoft等文档/报表图表类开发工具享超低折扣,如有需要可直接联系在线客服


在线
客服
微信
QQ 电话
023-68661681
返回
顶部