今天需要做出一个水晶报表,
以前在学校的时候就看过一点点,有些印象,
但没有具体的了解过,今天百度了一下,发现这个东西相当的方便简单。
还很完美。
开发工具是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 来显示数据。
private void frmSupplierInfoCR_Load(object sender, EventArgs e)
{
//窗体加载事件
try
{
string sql = "select * from View_Supplier";
DataSet dataset = SQLHelp.GetDataSet(sql);
string CRPath = Application.StartupPath + @"/CrystalReportsModel/CRSupplierInfo.rpt";//拼接水晶报表模板路径
ReportDocument reportdocument = new ReportDocument();
reportdocument.Load(CRPath);//加载模板
reportdocument.SetDataSource(dataset.Tables[].DefaultView);
this.crystalReportViewer.ReportSource = reportdocument;
}
catch (Exception ex)
{
MessageBox.Show("发生错误:"+ex.Message.ToString());
}
}
参考 水晶报表安装与部署:http://blog.csdn.net/jsjpanxiaoyu/article/details/42360659
水晶报表添加与设计:http://blog.sina.com.cn/s/blog_70a018cd0102w6uy.html