本文介绍报表的基本使用, 从pubs数据库的表jobs提取数据显示到报表上(pubs数据库为sql server自带数据库), 如何获得报表上一个文本对象的值以及如何改变他的值
以下为简单步骤:
一. 添加新项,选中数据集
二. 在新增的数据集中,右键添加DataTable,取名为jobs,并添加列job_id,job_desc,min_lvl,max_lvl这些列和jobs表 的列一致
三. 添加新项,Crystal报表--选中报表向导(标准)--项目数据--ADO.NET 数据集--DataSet1--jobs,添加到右侧选定的表, 然后点击完成
四. 双击新添加的报表(CrystalReport1.rpt),选择左侧的字段资源管理器,选中数据库字段,将jobs表的四个字段添加到右侧的Section3详细信息中,选中左侧的工具栏,拖动一个文本对象到section2(页眉)并取名为txtCh
五. 添加一个新窗体(Form1), 从工具栏上拖动crystalReportViewer到界面上,并调整大小
六. 在窗体的form_load事件中添加以下代码:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
1
2 try
3 {
4 DataSet ds = new DataSet();
5 using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=sa;database=pubs"))
6 {
7 SqlDataAdapter sa = new SqlDataAdapter("select * from jobs", con);
8 sa.Fill(ds, "jobs");//绑定数据集
9
10 CrystalReport1 cr1 = new CrystalReport1();
11
12
13 //为报表上添加的文本对象赋值
14 TextObject to = (TextObject)cr1.ReportDefinition.ReportObjects["txtCh"];
15 to.Text = "你好";
16
17
18 //获得报表上文本对象的值
19 TextObject to3 = (TextObject)cr1.ReportDefinition.ReportObjects["txtCh"];
20 String s = to.Text;
21
22
23 cr1.SetDataSource(ds);//报表关联数据源
24
25 this.crystalReportViewer1.ReportSource = cr1; //设置报表
26 }
27 }
28 catch (Exception ex)
29 {
30 }
更多信息,请到74085440群参与讨论!