彩票走势图

ActiveReports报表实战应用教程(十七)——运行时数据源

转帖|使用教程|编辑:龚雪|2022-05-09 10:10:35.233|阅读 135 次

概述:本文主要为大家介绍ActiveReports支持在设计时和运行时设置报表数据源是如何设置的,欢迎下载最新版体验!

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

相关链接:

ActiveReports 支持在设计时和运行时设置报表数据源,本文将重点介绍如何在运行时为区域报表和RDL/页面报表设置报表数据源。

获取ActiveReports v16.0官方正式版下载

区域报表运行时数据源

第一步: 在工程中创建一个名为 SectionReport_DataSource_RunTime.cs 的基于代码的区域报表。

ActiveReports报表实战应用教程(十七)——运行时数据源

第二步:创建完成之后,会自动打开报表设计界面,此时,我们可以在报表设计界面添加文本框(TextBox)等控件用于显示数据源数据。与 设计时数据源 不同,运行时数据源只需直接设置文本框控件的DataField属性便可完成与数据源的绑定,比如数据源包括以下字段:产品编号、产品名称、单价和库存量,我们只需在报表的 detail 区域添加四个文本框,并分别设置其DataField属性即可。如下图:

ActiveReports报表实战应用教程(十七)——运行时数据源

第三步:在运行时通过 DataSource 属性设置数据源


private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
SectionReport_DataSource_RunTime sReport1 = new SectionReport_DataSource_RunTime();
sReport1.DataSource = GetDataSource();
sReport1.Run();
viewer1.Document = sReport1.Document;
}
private DataTable GetDataSource()
{
DataTable dt = new DataTable();
dt.Columns.Add("产品编号");
dt.Columns.Add("产品名称");
dt.Columns.Add("单价");
dt.Columns.Add("库存量");
dt.Rows.Add("A10002", "苹果", 20, 50);
dt.Rows.Add("A15681", "香蕉", 20, 50);
dt.Rows.Add("A15681", "菠萝", 20, 50);
return dt;
}


RDL/页面报表运行时数据源

第一步: 在工程中创建一个名为 PageReport_DataSource_RunTime.rdlx 的页面报表。

ActiveReports报表实战应用教程(十七)——运行时数据源

第二步:从Visual Studio菜单栏中的“视图”->“其他窗口”->“报表资源管理器”中打开ActiveReports报表资源管理器,此时,你可以看到“数据源”节点,在该节点上鼠标右键选择“添加数据源”菜单项,在弹出的“报表数据源”对话框中选择类型为Dataset Provider,如下图:

ActiveReports报表实战应用教程(十七)——运行时数据源

点击“确定”按钮,完成数据源创建操作,此时,在报表资源管理器窗口中的“数据源”节点下新增了一个名为“DataSource1”的子节点,在该节点上点击鼠标右键,选择“添加数据集”菜单项,在弹出对话框的“字段”选项卡中添加产品编号、产品名称、单价和库存量四个字段,然后点击“确定”按钮完成数据集创建操作。返回到报表资源管理窗口之后,点击“DataSet1”节点,可以看到刚才添加的四个字段。

ActiveReports报表实战应用教程(十七)——运行时数据源

第三步:在Visual Studio工具箱中的表格控件(Table)拖拽到报表设计界面,然后点击表格明细行中的单元格,此时,会自动显示DataSet1中数据集中的全部字段,然后,为每个单元格指定需要绑定的字段。

ActiveReports报表实战应用教程(十七)——运行时数据源

第四步:在运行时通过 LocateDataSource 事件加载数据源。


private DataTable GetDataSource()
{
DataTable dt = new DataTable();
dt.Columns.Add("产品编号");
dt.Columns.Add("产品名称");
dt.Columns.Add("单价");
dt.Columns.Add("库存量");
dt.Rows.Add("A10002", "苹果", 20, 50);
dt.Rows.Add("A15681", "香蕉", 20, 50);
dt.Rows.Add("A15681", "菠萝", 20, 50);
return dt;
}
void runtime_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
{
if (args.DataSourceName == "DataSource1")
{
if (args.DataSetName == "DataSet1")
{
args.Data = GetDataSource();
}
}
}
private void viewer1_Load(object sender, EventArgs e)
{
GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport
(new System.IO.FileInfo("../../PageReport_DataSource_RunTime.rdlx"));
GrapeCity.ActiveReports.Document.PageDocument runtime = new GrapeCity.ActiveReports.Document.PageDocument(pageReport);
runtime.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(runtime_LocateDataSource);
viewer1.LoadDocument(runtime);
}


运行结果:

ActiveReports报表实战应用教程(十七)——运行时数据源

ActiveReports 报表控件| 下载试用

ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。

本文转载自


标签:

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

文章转载自:

为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP