没有合适的资源?快使用搜索试试~ 我知道了~
在项目开发中对VS2005自带的水晶报表的使用和发布至服务器的一系列心得体会进行总结,以供参考。
资源推荐
资源详情
资源评论


















整个使用和发布水晶报表的过程:
1.新建一个Dataset,在Dataset中建你所要的表Table
2.将建好的Dataset做为数据源模板,构建想要的水晶报表样式,该报表文件可暂命名为:CrySJBB.rpt
2.写“Select”的SQL语句代码,注意:Table中的字段一定要在所写的语句中的字段找得到!
3.为报表赋数据源并加载该报表,代码可如下:
//reportPath为报表路径,下面会谈起怎么取的。
reportDocument1.Load(reportPath);
reportDocument1.SetDataSource(数据源);
CryReViewer.ReportSource = reportDocument1;
4.注:加载该报表时的路径一定不能用网上所说的取应用程序下的相对路径,因为那样在发布后是找不到报表路径的.
5.报表文件CrySJBB的路径rptreportPath的取法:
(1).将建好的报表文件CrySJBB放在某工程下(也可以放在应用程序下,这里以应用程序为例)的Resources资源文件中,这一点应该会添加吧。(点开Properties下的Resources.resx,双击它,点击里头的“添加资源”的“添加现有文件”即可)
(2).写代码,去取得该Resources资源文件下的报表文件,这样做,不但是运行程序还是发布程序,都能自动去找到报表文件。(我这是C/S模式,B/S模式也可以这样做,只是将取得报表文件后的路径重新设置一下就可以了)
using System.Resources;//引用命名空间;
string AppPath = Application.StartupPath; //C/S模式下下载客户端到本地的应用程序路径;
string RptFileFullName = AppPath + @"\CrySJBB.rpt"; //假定取得报表文件后的路径;
//取得Resources资源文件下的报表文件,ZJFF应用程序名
ResourceManager resources = new ResourceManager(typeof(ZJFF.Properties.Resources));
byte[] bytes = (byte[])resources.GetObject("CrySJBB");//只写报表名称,不带后缀
if (File.Exists(RptFileFullName)) //若假定路径中有该文件,则删除,否则新建一个
File.Delete(RptFileFullName);
FileStream fileStream = new FileStream(RptFileFullName, FileMode.CreateNew);
BinaryWriter binWriter = new BinaryWriter(fileStream);
binWriter.Write(bytes, 0, bytes.Length);
binWriter.Close();
fileStream.Close();
reportPath = RptFileFullName;
reportPath 就是最后我们要取得路径,即服务器上已下载到本地后的报表路径,加载这个路径就可以查看我们已经做好的水晶报表了。
1.新建一个Dataset,在Dataset中建你所要的表Table
2.将建好的Dataset做为数据源模板,构建想要的水晶报表样式,该报表文件可暂命名为:CrySJBB.rpt
2.写“Select”的SQL语句代码,注意:Table中的字段一定要在所写的语句中的字段找得到!
3.为报表赋数据源并加载该报表,代码可如下:
//reportPath为报表路径,下面会谈起怎么取的。
reportDocument1.Load(reportPath);
reportDocument1.SetDataSource(数据源);
CryReViewer.ReportSource = reportDocument1;
4.注:加载该报表时的路径一定不能用网上所说的取应用程序下的相对路径,因为那样在发布后是找不到报表路径的.
5.报表文件CrySJBB的路径rptreportPath的取法:
(1).将建好的报表文件CrySJBB放在某工程下(也可以放在应用程序下,这里以应用程序为例)的Resources资源文件中,这一点应该会添加吧。(点开Properties下的Resources.resx,双击它,点击里头的“添加资源”的“添加现有文件”即可)
(2).写代码,去取得该Resources资源文件下的报表文件,这样做,不但是运行程序还是发布程序,都能自动去找到报表文件。(我这是C/S模式,B/S模式也可以这样做,只是将取得报表文件后的路径重新设置一下就可以了)
using System.Resources;//引用命名空间;
string AppPath = Application.StartupPath; //C/S模式下下载客户端到本地的应用程序路径;
string RptFileFullName = AppPath + @"\CrySJBB.rpt"; //假定取得报表文件后的路径;
//取得Resources资源文件下的报表文件,ZJFF应用程序名
ResourceManager resources = new ResourceManager(typeof(ZJFF.Properties.Resources));
byte[] bytes = (byte[])resources.GetObject("CrySJBB");//只写报表名称,不带后缀
if (File.Exists(RptFileFullName)) //若假定路径中有该文件,则删除,否则新建一个
File.Delete(RptFileFullName);
FileStream fileStream = new FileStream(RptFileFullName, FileMode.CreateNew);
BinaryWriter binWriter = new BinaryWriter(fileStream);
binWriter.Write(bytes, 0, bytes.Length);
binWriter.Close();
fileStream.Close();
reportPath = RptFileFullName;
reportPath 就是最后我们要取得路径,即服务器上已下载到本地后的报表路径,加载这个路径就可以查看我们已经做好的水晶报表了。
资源评论


lxlongnw
- 粉丝: 5
- 资源: 5
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
