水晶报表在C#里具体怎么用

发布网友 发布时间:2022-04-20 05:40

我来回答

2个回答

热心网友 时间:2022-04-27 13:20

你可以试一下下面这一串代码
//连接读取数据库
SqlConnection conn = new SqlConnection("server=.;database=Software_DB;uid=sa;pwd=;");
SqlDataAdapter dapt = new SqlDataAdapter("select * from Software_RenCai", conn);
DataSet ds = new DataSet();
dapt.Fill(ds, "Software_RenCai");
//加载水晶报表
CrystalReportSource1.ReportDocument.Load(Server.MapPath("CrystalReport1.rpt"));//报表路径
CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables["Software_RenCai"]);//表的名称
CrystalReportSource1.DataBind();
CrystalReportViewer1.ReportSource = CrystalReportSource1;
CrystalReportViewer1.DataBind();
你自己多试试把,关键还是要你自己尝试,*说的,实践出真知啊!

热心网友 时间:2022-04-27 14:38

使用Pull模式
我们将通过下面的这些步骤来通过Pull模式来执行水晶报表
1.首先创建rpt文件,并使用水晶报表设计接口设置一些必须的数据连接。
2.拖放一个 CrystalReportViewer控件至aspx页面,设置它的属性指定我们上一步创建的.rpt文件。
3. 在代码中调用DataBind方法。
创建 .rpt 文件:
1) 在右击”解决方案游览器“,在弹出的菜单中选择”添加“--”添加新项“-->”Crystal Report”  

2) 在”Crystal Report 库”中选择”作为空白报表“单选按钮,最后单击“确定“。  

3)这里将弹出水晶报表设计器。  

4) 右击报表中的”详细资料区”,选择“数据库”->“添加/删除数据库..."
5) 在弹出的”数据库专家“中,扩展”OLE DB(ADO)“选项,此时会弹出另外一个”OLE DB(ADO)“窗口。
6) 在 "OLE DB (ADO)" 弹出窗口中,选择 "Microsoft OLE DB Provider for SQL Server" 然后 "Next"

7) 指定连接的信息
服务器 : ASPCN (您的机器是什么名字就写什么)
用户 ID: sa
密码:
数据库 : Pubs
8) 单击”Next“,最后单击”Finish“按钮。
9) 这时你就能在”数据库专家“窗口中看到我们选择的数据库。
10) 扩展”Pubs“数据库,扩展”表“,选择”Stores“表并将其加到”选定的表“区中,单击”OK"按钮。
 
11) 现在在”字段资源浏览器“中就会在左边”数据库字段“区中显示你选择的表,以及表中的字段。
12) 拖放需要的字段进入报表的”详细资料“区。字段名将会自动出现在”页眉“区。如果你想修改头部文字,则可以右击”页眉“区中的文字,选择”编辑文本对象“选项并进行编辑。

13) 保存,这样我们就有了一个水晶报表文件。
创建 CrystalReportViewer 控件
14) 回到前面的WebForm中,拖放一个Crystal Report Viewer控件到页面中去。
15) 调出Crystal Report Viewer控件的属性窗口,选择“DataBindings"区点击[...]
16) ”Crystal Report Viewer 数据绑定窗口”中,在右边的“可绑定属性”中选择”ReportSource“,并选择右下角的“自定义绑定表达式”中指定.rpt文件路径。  
17) 此时你能够从Crystal Report Viewer 控件中看到使用一些虚拟数据组成的报表文件的预览。
  注意:在上面的例子中,CrystalReportViewer可以在设计时直接调用真实的数据,因为此时数据已经保存。在这种情况下,设计时当没有保存数据时,他是不能显示数据的。取而代这的是显示一些虚拟的数据,只有在执行时才会选取真实的数据。
Code Behind 程序设计
18) 在Page_Load方法中调用DataBind方法。
执行你的程序
19) 创建并运行你的程序!  

您现在就可以直接在Web页面中使用水晶报表内置的一些功能,如页面导航,缩放等。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com