概述提要 本文试验将帮助你创建一个使用Crystal Report的Web应用程序—报告中的数据来源于一个对象集合,你将创建一个专门的类来保存股票市场数据。一、
开发目标结束本试验后,你将能够更好地:· 创建一个专门的类来保存股票市场值。· 实例化这个类。· 使用数据填充一个对象集合。· 通过一个web表单动态地添加数据。· 使用Crystal Report Designer熟练地创建一个水晶报表。二、 内容说明本实验将引导你创建一个Crystal Reports web应用程序—报告中的数据来源于一个对象集合。该应用程序是用Crystal Reports for Visual Studio 2005 Beta 2进行开发成功。然后,你将创建一个专门的类来保存股票市场值,实例化该类并使用数据填充一个对象集合,并且通过一个web表单进一步动态地添加数据。然后,你将创建一个水晶报表,通过使用Crystal Report Designer控件—它连接到对象集合并且动态地生成一个图表和股票摘要信息。三、 练习一:Web应用程序安装说明 在本练习中,你将创建一个新的网站,并且应用标准设置来完成此练习。详细步骤1. 在Visual Studio中创建一个新的ASP.NET Web站点。· 双击桌面上的Visual Studio 2005 Beta 2快捷方式。· 点击“文件|新建|网站”。· 在“新建网站”对话中,点击“ASP.NET 网站”。· 在“位置”列表中,选择“文件系统”。· 在“语言”列表中,选择“Visual C#”。· 在“位置”文本域中,接受默认的路径和名称。· 点击OK。2. 添加Crystal Report Viewer 控件。· 从Solution Explorer中,双击Default.aspx以打开该web表单。· 点击在该表单底部的“设计”按钮来把Web表单改变到设计视图。· 从工具栏中,展开Crystal Reports结点并且定位到CrystalReportViewer控件。· 把CrystalReportViewer控件拖动到该Web表单。· 如果“Smart Task”面板上的“CrystalReportViewer Tasks”被打开,则按下Esc键关闭它。· “Smart Task”面板是Visual Studio 2005中的一个新特征—允许用较少的代码来创建工程。在这个选项卡中,你将使用一种编程方式,因此不必使用“Smart Task”面板。· 点击Properties选项卡并且选择CrystalReportViewer。· 从Properties窗口中,把ID属性设置为crystalReportViewer。· 从文件菜单下,点击SaveAll。3. 添加编程环境。· 点击Solution Explorer选项卡。· 在Solution Explorer中,右击Default.aspx并且点击“View Code”。· 在类签名的上面,使用“using”语句加入对装配集命名空间的引用声明。· ConfigureCrystalReports()是一个助理方法—它负责在运行时刻与报告交互。它还负责以编程方式与报告进行交互。为了正确地配置CrystalReportViewer,必须从中Page_Init()调用它。· 使用显示的适当语法添加Page_Init事件处理器。private void Page_Init(object sender, EventArgs e){}· 在Visual Studio 2005的一个C# Web表单中,在code-behind类中的Page_Init事件处理器是被自动地依附到Init事件的。这个事件处理器签名必须正确匹配以便进行调用。· 最后,在Page_Init事件处理器中,加入对ConfigureCrystalReports()助理方法的调用。ConfigureCrystalReports();· 从文件菜单下,点击“Save All”。· 现在,你已经准备好创建你的定制股票市场信息类了。四、 练习2:创建一个定制的股票市场信息说明 在本练习中,你要创建一个定制的类来保存股票市场信息。这个类将用于填充一个对象集合。详细步骤· 在Solution Explorer中,右击粗体的网站名,然后点击“Add New Item”。· 然后,出现“Add New Item ”对话框。· 在Visual Studio“Installed Templates”域中,选择“Class”。· 在Name字段中,输入Stock,然后点击Add。· 在随后出现的对话框中点击Yes。· 在Visual Studio 2005中,所有的类必须被放置到一个App Code文件夹下,如果要使用它们的话。当你点击Add按钮时,将出现一个警告对话框问你是否想把你的类放到这个App_Code文件夹下。· 本文中的Stock类必须被设置为public类,以便当你创建报告时存取它。请一定要确保你创建的类是public型。public class Stock{public Stock(){}}· 在这个类中,加入三个private字段。private string _symbol;private double _price;private int _volume;· 然后,你将把三个public读/写属性加入以封装这三个private字段。· 创建一个新的属性,命名为Symbol。public string Symbol{get{return _symbol;}set{_symbol = value;}}· 创建一个新的属性,命名为Price。public double Price{get{return _price;}set{_price = value;}}· 创建一个新的属性,命名为Volume。public int Volume{get{return _volume;}set{_volume = value;}}· 最后,创建一个新的构造器,它使用三个public属性作为参数。public Stock (String symbol, int volume, double price){_symbol = symbol;_volume = volume;_price = price;}· 从Build菜单下,点击“Build Website”。· 如果你有任何构建错误现在就修改它们。· 现在,你已经准备好从内置的Crystal Report Designer中存取这个对象了。五、 练习3:创建一个水晶报表说明 在本练习中,你将在内置的Crystal Report Designer中创建一个新的Crystal report,然后把这个报告绑定到Stock对象。详细步骤· 右击网站名并且点击“Add New Item”。· 在“Add New Item” 对话框中,选择“Crystal Report”。· 在Name字段中,输入StockObjects.rpt,然后点击Add。· 在“Crystal Reports Gallery”对话框中,点击OK。· 在“Standard Report Creation Wizard”对话框中,展开“Project Data”及子结点“.NET Objects”。· 将出现该工程中的一个类列表。· 展开Stock类来观察一个可选择的子结点。· 点击向右的箭头,以便把“Stock”类子结点移动到“Selected Tables”面板上。· 点击Next。· 展开Stock并且点击“>>”以便把所有的列移动到“Fields to Display”面板上。· 点击Next。· 选择Symbol并且点击向右的箭头来把它移动到“Group By”面板上。· 点击Finish。六、 练习4:把你的水晶报表绑定到Crystal Report Viewer说明 在这个练习中,你将把Stock对象报告绑定到Crystal Report Viewer,把报告的数据源设置为一个对象集合,并且用编程方式来填充一个对象集合。详细步骤1. 把报告绑定到Crystal Report Viewer。· 切换到默认的Code-Behind类,Default.aspx.cs。· 在类签名之上,加入对命名空间System.Collections的引用。using System.Collections;· 这个参考使你能够存取ArrayList类,而ArrayList实现了ICollection。这使得ArrayList成为用来构建一个为Crystal Reports所识别的对象集合的若干类的类型之一。· 添加一个新的类级别的ArrayList,命名为stockValues。private ArrayList stockValues;· 为ReportDocument报告包装类添加一个新的类级别的声明,变量名为stockObjectsReport。并把它设置为private型。private ReportDocument StockObjectsReport;· 在你在练习1创建的ConfigureCrystalReports()方法中,声明一个字符串变量,命名它为reportPath,并且把一个指向本地报告的运行时刻路径赋值给它。把本地报告文件的名字作为一个字符串参考传递给Server.MapPath()方法。这样以来,把本地报告映射到运行时刻文件路径。String reportPath = Server.MapPath("StockObjects.rpt");· 实例化ReportDocument类。StockObjectsReport = new ReportDocument();· 在下一行中,调用ReportDocument实例的Load()方法,并且把reportPath字符串变量传递给它。StockObjectsReport.Load(reportPath);· 这个ReportDocument类是CrystalDecisions.CrystalReports。Engine命名空间的一个成员。你已经在“练习1: Web应用程序安装”中添加了对这个命名空间的声明(在C#中是使用“using”)。当你实例化ReportDocument并且加载一个报告时,你可以通过SDK来存取这个报告。· 然后,把这个报告的数据源设置为“stockValues ArrayList”。StockObjectsReport.SetDataSource(stockValues);· 最后,把CrystalReportViewer的ReportSource属性绑定到ReportDocument实例。crystalReportViewer.ReportSource = stockObjectsReport;l. 现在,这个Stock对象报告被绑定到Crystal Report Viewer并且页面显示正确的报告;然而,当前的报告被绑定到一个空数据源上,因此报告中没有要显示的信息。在下一步中,你将用样本数据以编程方式填充stockValues ArrayList。2. 以编程方式填充一个对象集合。3. 在这个任务中,你将把Session代码添加到ASPX code-behind类。如果在session中没有值,将会生成默认值。如果session中有值,它们将被赋值到stockValues ArrayList中。· 在这个类中,添加一个新的public范围的不具有返回值的助理方法,命名为PopulateStockValuesArrayList()。public void PopulateStockValuesArrayList(){}· 在PopulateStockValuesArrayList()方法中,在现有代码前,创建一个if/else条件块—它检查是否存在一个名为stockValues的Session对象。if(Session["stockValues"] == null){}else{}· 在这个If块中,实例化一个新的ArrayList()。stockValues = new ArrayL
<span >提要 本文试验将帮助你创建一个使用Crystal Report的Web应用程序—报告中的数据来源于一个对象集合,你将创建一个专门的类来保存股票市场数据。 一、 开发目标 结束本试验后,你将能够更好地: · 创建一个专门的类来保存股票市场值。 · 实例化这个类。 · 使用数据填充一个对象集合。 · 通过一个web表单动态地添加数据。 · 使用Crystal Report Designer熟练地创建一个水晶报表。 二、 内容说明 本实验将引导你创建一个Crystal Reports web应用程序—报告中的数据来源于一个对象集合。该应用程序是用Crystal Reports for Visual Studio 2005 Beta 2进行开发成功。 然后,你将创建一个专门的类来保存股票市场值,实例化该类并使用数据填充一个对象集合,并且通过一个web表单进一步动态地添加数据。然后,你将创建一个水晶报表,通过使用Crystal Report Designer控件—它连接到对象集合并且动态地生成一个图表和股票摘要信息。 三、 练习一:Web应用程序安装 说明 在本练习中,你将创建一个新的网站,并且应用标准设置来完成此练习。 详细步骤 1. 在Visual Studio中创建一个新的ASP.NET Web站点。 · 双击桌面上的Visual Studio 2005 Beta 2快捷方式。 · 点击“文件|新建|网站”。 · 在“新建网站”对话中,点击“ASP.NET 网站”。 · 在“位置”列表中,选择“文件系统”。 · 在“语言”列表中,选择“Visual C#”。 · 在“位置”文本域中,接受默认的路径和名称。 · 点击OK。 2. 添加Crystal Report VIEwer 控件。 · 从Solution Explorer中,双击Default.aspx以打开该web表单。 · 点击在该表单底部的“设计”按钮来把Web表单改变到设计视图。 · 从工具栏中,展开Crystal Reports结点并且定位到CrystalReportVIEwer控件。 · 把CrystalReportVIEwer控件拖动到该Web表单。 · 如果“Smart Task”面板上的“CrystalReportVIEwer Tasks”被打开,则按下Esc键关闭它。 · “Smart Task”面板是Visual Studio 2005中的一个新特征—允许用较少的代码来创建工程。在这个选项卡中,你将使用一种编程方式,因此不必使用“Smart Task”面板。 · 点击PropertIEs选项卡并且选择CrystalReportVIEwer。 · 从PropertIEs窗口中,把ID属性设置为crystalReportVIEwer。 · 从文件菜单下,点击SaveAll。 3. 添加编程环境。 · 点击Solution Explorer选项卡。 · 在Solution Explorer中,右击Default.aspx并且点击“VIEw Code”。 · 在类签名的上面,使用“using”语句加入对装配集命名空间的引用声明。 · ConfigureCrystalReports()是一个助理方法—它负责在运行时刻与报告交互。它还负责以编程方式与报告进行交互。为了正确地配置CrystalReportVIEwer,必须从中Page_Init()调用它。 · 使用显示的适当语法添加Page_Init事件处理器。<table bordercolor="#cccccc" wIDth="90%" align="center" bgcolor="#e1e1e1" border="1">
<tr>
<td >private voID Page_Init(object sender, EventArgs e){}</td>
</tr></table>
<span > · 在Visual Studio 2005的一个C# Web表单中,在code-behind类中的Page_Init事件处理器是被自动地依附到Init事件的。这个事件处理器签名必须正确匹配以便进行调用。 · 最后,在Page_Init事件处理器中,加入对ConfigureCrystalReports()助理方法的调用。<table bordercolor="#cccccc" wIDth="90%" align="center" bgcolor="#e1e1e1" border="1">
<tr>
<td >ConfigureCrystalReports();</td>
</tr></table>
<p > · 从文件菜单下,点击“Save All”。 · 现在,你已经准备好创建你的定制股票市场信息类了。四、 练习2:创建一个定制的股票市场信息 说明 在本练习中,你要创建一个定制的类来保存股票市场信息。这个类将用于填充一个对象集合。详细步骤 · 在Solution Explorer中,右击粗体的网站名,然后点击“Add New Item”。
<p > · 然后,出现“Add New Item ”对话框。 · 在Visual Studio“Installed Templates”域中,选择“Class”。 · 在name字段中,输入Stock,然后点击Add。 · 在随后出现的对话框中点击Yes。 · 在Visual Studio 2005中,所有的类必须被放置到一个App Code文件夹下,如果要使用它们的话。当你点击Add按钮时,将出现一个警告对话框问你是否想把你的类放到这个App_Code文件夹下。 · 本文中的Stock类必须被设置为public类,以便当你创建报告时存取它。请一定要确保你创建的类是public型。
<p >
>”以便把所有的列移动到“FIElds to display”面板上。 · 点击Next。 · 选择Symbol并且点击向右的箭头来把它移动到“Group By”面板上。 · 点击Finish。 六、 练习4:把你的水晶报表绑定到Crystal Report VIEwer 说明 在这个练习中,你将把Stock对象报告绑定到Crystal Report VIEwer,把报告的数据源设置为一个对象集合,并且用编程方式来填充一个对象集合。 详细步骤 1. 把报告绑定到Crystal Report VIEwer。 · 切换到默认的Code-Behind类,Default.aspx.cs。 · 在类签名之上,加入对命名空间System.Collections的引用。using System.Collections; · 这个参考使你能够存取ArrayList类,而ArrayList实现了ICollection。这使得ArrayList成为用来构建一个为Crystal Reports所识别的对象集合的若干类的类型之一。 · 添加一个新的类级别的ArrayList,命名为stockValues。
总结
以上是内存溢出为你收集整理的VS2005+Crystal Report开发Web应用全部内容,希望文章能够帮你解决VS2005+Crystal Report开发Web应用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)