水晶报表,c#中,怎么在Winform应用程序中设计功能载入rpt水晶报表文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了水晶报表,c#中,怎么在Winform应用程序中设计功能载入rpt水晶报表文件?相关的知识,希望对你有一定的参考价值。

甲方有很多以前做的水晶报表文件(*.rpt),我怎么在Winform中设计功能读取这些模板文件?

新建一个窗体,然后在工具栏拖人一个crystalReportViewer控件,然后把读取报表路径,这样就可以了!给你一个参考的代码。试着去看看吧!!!

参考技术A pull模式类似下面:

CrystalReportViewer1.ReportSource = "C:Documents and SettingsAdministrator 桌面 crdebugstaff.rpt "

----------------------
push模式类似下面:

string ConStr= "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin; Data Source=c:\\db1.mdb ";
OleDbConnection myCon=new OleDbConnection(ConStr);
OleDbDataAdapter myDA=new OleDbDataAdapter( "select * from student where id= '001 ' ",myCon)
DataSet ds2=new DataSet();

myDA.Fill(ds2, "student ");
ReportDocument oRpt = new ReportDocument();

oRpt.Load( "C:\\123\\rpt1.rpt ");

oRpt.SetDataSource(ds2);

CrystalReportViewer1.ReportSource = oRpt;
CrystalReportViewer1.DataBind();本回答被提问者和网友采纳

WinForm 水晶报表的简单使用

今天需要做出一个水晶报表,

以前在学校的时候就看过一点点,有些印象,

但没有具体的了解过,今天百度了一下,发现这个东西相当的方便简单。

还很完美。

 

开发工具是VS2010,水晶报表没有内置。需要自己下载。

网上有很多,结尾处的参考文章地址中也有。

 

需要注意的有两点:

1VS2010运行环境默认为.NET FRAMEWORK 4.0 CLINET PROFILE,要改为.NET FRAMEWORK 4,选中项目右键属性就可以更改了;

2.在项目中加一个APP.CONFIG(这是针对WINFORM项目),如果是WEB项目就不用加了,里面有一个WEB.CONFIG,在这配置文件中加上 

<startup useLegacyV2RuntimeActivationPolicy="true">

 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

</startup>

这样可以避免一个找不到文件路径的报错,具体原因也不清楚,从字面意思上看是使用旧的v2运行激活策略。

 

设计好模板之后就可以在窗体中使用模板来加载数据了。

关于怎么设计模板,文章底部的参考文章中也有一篇。

窗体中需要拖一个 crystalReportViewer 来显示数据。

 1         private void frmSupplierInfoCR_Load(object sender, EventArgs e)
 2         {
 3             //窗体加载事件
 4             try
 5             {
 6                 string sql = "select * from View_Supplier";
 7                 DataSet dataset = SQLHelp.GetDataSet(sql);
 8                 string CRPath = Application.StartupPath + @"/CrystalReportsModel/CRSupplierInfo.rpt";//拼接水晶报表模板路径
 9                 ReportDocument reportdocument = new ReportDocument();
10                 reportdocument.Load(CRPath);//加载模板
11                 reportdocument.SetDataSource(dataset.Tables[0].DefaultView);
12                 this.crystalReportViewer.ReportSource = reportdocument;
13             }
14             catch (Exception ex)
15             {
16                 MessageBox.Show("发生错误:"+ex.Message.ToString());
17             }
18         }

 

 

 

参考 水晶报表安装与部署:http://blog.csdn.net/jsjpanxiaoyu/article/details/42360659

       水晶报表添加与设计:http://blog.sina.com.cn/s/blog_70a018cd0102w6uy.html

以上是关于水晶报表,c#中,怎么在Winform应用程序中设计功能载入rpt水晶报表文件?的主要内容,如果未能解决你的问题,请参考以下文章

C# winform 用水晶报表 如何做能显示出图中上面那2行数据?

Winform中怎么使用水晶报表?

在winform中怎么写动态的数据报表,显示的数据是从数据库中获取的

c# Winform 打印问题,请教高手

C# winform做打印预览和打印功能怎么做?

C# windows应用程序中水晶报表怎么用???