在谈到轻松创造自如、灵活的报表,ActiveReports一直是您的第一选择。在使用布局优先的报表的时候,则页面报表(PageReports)可以帮您完成所要的需求。
在运行时创建报表的基本步骤:
创建报表实例
绑定报表数据源
添加动态绑定数据集字段(DataSet Fields)
渲染报表
在创建运行时报表前,让我们先用报表设计来实现一个报表,见下面demo报表文件PageReport1.rdlx
可以看到Description这一列数据在设计的时候太窄,导致渲染出来的报表字体不美观,如何根据填充的内容实现“自动扩展”列宽呢? 下面我们看看运行时设计报表能否帮助我们达到这一需求。
Step1:创建报表实例
Code Snippet
GrapeCity.ActiveReports.PageReport _pageReport =new GrapeCity.ActiveReports.PageReport();
创建一个页面报表实例,用于接下来的报表实现。
Step2:绑定报表数据源
Code Snippet
DataSource _dataSource =newDataSource();
DataSet _dataSet =newDataSet();
_dataSource.Name ="NWINDds";
_dataSource.ConnectionProperties.ConnectString =@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\rogerwang\Documents\ComponentOne Samples\ActiveReports Developer 7\Data\NWIND.mdb;Persist Security Info=False";
_dataSource.ConnectionProperties.DataProvider ="OLEDB";
_dataSet.Name ="CategoryDataSet";
_dataSet.Query.DataSourceName ="NWINDds";
_dataSet.Query.CommandType = GrapeCity.ActiveReports.PageReportModel.QueryCommandType.Text;
_dataSet.Query.CommandText ="Select * From Categories";
备注:ConnectString我们用的是ActiveReports自带的NWIND数据源,修改用户名即可。
Step3:添加动态绑定数据集字段(DataSet Fields)
Code Snippet
//
GrapeCity.ActiveReports.PageReportModel.TextBox _objTextBox3 =new GrapeCity.ActiveReports.PageReportModel.TextBox();
_objTextBox3.Name ="TextBox3";
_objTextBox3.Top ="0.1666667in";
_objTextBox3.Left ="3.9375in";
_objTextBox3.Height ="1.1458in"; //
_objTextBox3.Width ="2in"; //
_objTextBox3.Value ="=Fields!Description.Value"; //mapping
这里的代码是可实现上面说的“自动扩展”列宽的, 即预先计算获得数据源中这一字段最小、最大、平均列宽,设置_objTextBox3.Width字段即可 (在报表渲染之前完成)
Step4:渲染报表
通过报表预览视图,加载我们创建的报表即可渲染报表:
Code Snippet
GrapeCity.ActiveReports.Document.PageDocument runtime =new GrapeCity.ActiveReports.Document.PageDocument(_pageReport);
viewer1.LoadDocument(runtime);
预览效果如图所示:
源码下载:
ActiveReports 报表控件| 下载试用
ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。
您对ActiveReports产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>>技术支持论坛
葡萄城热门产品


