水晶报表10 打印、导出按钮不能用

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
 
最近公司接了一个项目,要给客户做许多报表,并且是中国式的报表,本人就用了c#+水晶报表10进行了开发,但是中间遇到了一个问题,”动态设置水晶报表的数据源后,打印、导出、查找等按钮不能用,即使用水晶报表的工具栏时,出现的不是打印、导出、查找的结果,而是一张空白”出现这个问题挺郁闷的,于是在网上也查找了一番,但是网友们也都遇见到这个问题,都 没有给出解决的办法。无奈之下,本人专门研究了一番,最后费了十牛三虎之力,终于找到了解决的办法,下面列出来,以飨读者,希望能给遇到此问题的朋友一定的帮助。
 
WEB窗体中有两个控件,CrystalReportViewer1     CrystalReportSource1 数据源:Dataset
代码:
protected CrystalDecisions.Web.CrystalReportViewer Crv;
ReportDocument ReportDoc=new ReportDocument() ;   
 if (!IsPostBack)
{
SqlConnection sqlConnData=new SqlConnection(ConfigurationSettings.AppSettings["dsn"]) ;           
sqlConnData.Open();
string str="select * from brigderoad where (station='"+UserStr+"') or (year='"+yearStr+"') ";
//查询特定的表
     SqlDataAdapter MyAdapter=new SqlDataAdapter (str,sqlConnData);
     addressDS ds=new addressDS();
     MyAdapter.Fill (ds,"brigderoad");//绑定到数据源
     string FilePath=Server.MapPath("report/bridgeCrR.rpt"); //指定到特定的报表         
 
     if (!ReportDoc.IsLoaded )
        ReportDoc.Load(FilePath);
     ReportDoc.SetDataSource(ds);
Crv.ReportSource=ReportDoc;  
}
上面就是常见的代码,并且代码不存在错误,那读者要问了,上面没有错误,但是到预览报表时,要打印、导出、查找特定的页面时为什么还是空白页面呢?
哈哈,下面将解决这个问题,请往下看
if (!IsPostBack)
{
 //
}
SqlConnection sqlConnData=new SqlConnection(ConfigurationSettings.AppSettings["dsn"]) ;           
     sqlConnData.Open();
string str="select * from brigderoad where (station='"+UserStr+"') or (year='"+yearStr+"') ";
//查询特定的表
SqlDataAdapter MyAdapter=new SqlDataAdapter (str,sqlConnData);
addressDS ds=new addressDS();
MyAdapter.Fill (ds,"brigderoad");//绑定到数据源
string FilePath=Server.MapPath("report/bridgeCrR.rpt"); //指定到特定的报表         
 
if (!ReportDoc.IsLoaded )
      ReportDoc.Load(FilePath);
ReportDoc.SetDataSource(ds);
Crv.ReportSource=ReportDoc;
 
 
看到了吧,只需要if语句后的代码放在if (!IsPostBack){ //}
的后面就可以了,呵呵,啰唆了那么多,就这么简单。Ispostback指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问,当执行完if (!IsPostBack){ //}之后有比讯把所查询的表重新绑定数据源,这样报表中有了数据,所以水晶报表的工具栏就可以用了。
总结:
 if (!IsPostBack){ //}执行之后要把表重新绑定到数据源,这样才不会错误。 
VS2005 crystalReportviewer 打印问题 在VS2005中使用水晶报表时很简单的事了,因为微软已经把几乎整个水晶报表工具集成到VS2005了。而且crystalReportviewer 控件有着强大的报表功能,其中包括显示报表,预览,缩印等,很大程度上方便了开发人员的开发。但是在使用crystalReportviewer控件进行打印的时候总是遇到这样那样的问题。首先要声明的是:crystalReportviewer打印有两种模式可选 阅读详情

相关推荐

C#之二十三 打印水晶报表

视频课堂https://edu.csdn.net/course/play/7621 C#程序设计及宿舍管理系统实战 https://edu.csdn.net/course/detail/27107 打印组件介绍 打印是常用的的功能,打印的原理从本质上和Windows窗体画图的原理是一样的,你在窗体里面画了一个圆,那么同样的代码,打印机也会在纸张的同一个位置打印...

张晨光老师的播客 9140

Crystal_Report_10(附注册码).rar

Crystal report 10安装包(附注册码),公司自用的,看到网上好多人在找这个安装包,特此分享

水晶报表——打印

开发工具与关键技术:VS C# 作者:梁茵茵 撰写时间:2019年 4月 26日 我们需要打印页面上的数据的时候可以使用水晶报表这个插件来实现,那么肯定是先安装这个插件,怎样判断是否按照成功,在项目文件夹中点击新建项就可以知道了。安装完成就可以设计报表模板了,在设计模板格式的时候要特别细心。每次打印出来的表头的数据字段是不会改的,详细资料里的数据就会自动循环判断页面的数据,页脚的页数在打印的时候...

weixin_44543312的博客 1089

水晶报表10中文帮助

水晶报表10中文帮助,需要的随便下载,好东西啊!

水晶报表crystalReportViewer老是弹出数据库登录对话框怎么解决

<br />在帮助里我找到“设置数据库登录参数”字样,里面提供了一些后来发现是非常有用的信息: <br />下列示例说明如何将登录参数传递到报表的表中。该示例使用到某个安全的   SQL   Server   数据库的连接。   <br /><br />启动一个新项目   <br />向窗体添加一个“按钮”和四个“文本框”控件。   <br />将“文本框”控件分别命名为:serverNameTxt、dbNameTxt、userNameTxt   和   passwordTxt。   <br />双击“按钮

aspnetSky的专栏 3981

CrystalReports水晶报表 10_5 下载地址

vs2008自带的水晶报表的版本是10.5的,就放在我们的机器中,位置就在C:/Program Files/Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages。水晶报表的运行时组件就在该目录下的CrystalReports10_5/CRRedist2008_x86。将CRRedist2008_x86在要部署的机器上安装就可以了。如果在以上路径下

enven的专栏 1万+

[转]水晶报表本身不支持打印,可以导出到别的格式打印,比如pdf

  ReportDocument   crReportDocument;     ExportOptions   crExportOptions;     DiskFileDestinationOptions   crDiskFileDestinationOptions;     string   Fname;     crReportDocument=ne...

weixin_34032792的博客 171

水晶报表10 打印导出按钮不能

最近公司接了一个项目,要给客户做许多报表,并且是中国式的报表,本人就用了c#+水晶报表10进行了开发,但是中间遇到了一个问题,”动态设置水晶报表的数据源后,打印导出、查找等按钮不能用,即使用水晶报表工具栏时,出现的不是打印导出、查找的结果,而是一张空白”。出现这个问题挺郁闷的,于是在网上也查找了一番,但是网友们也都遇见到这个问题,都 有给出解决的办法。无奈之下,本人专门研究了一番,最后费了

全欣 的专栏 4341

水晶报表

今天我要教给大家的内容是水晶报表,什么是水晶报表水晶报表是一个可以打印数据的工具。当然在打印之前,我们要安装一下水晶报表软件。我用的水晶报表软件是编程软件——CRforVS_13_0_14。我就不教大家怎么安装了,只要在里面点击下一步再下一步就可以了。如果你们不知道是否安装成功,那么我教大家怎样判断一下是否安装成功了:首先来到项目解决方案,找到你要水晶报表的区域,在区域那里新建一个PrintRe...

weixin_44567381的博客 1万+

Web打印水晶报表的四种方法

Web打印水晶报表的四种方法请参见:报表分发如果想使用户能够打印Web 上访问的整个多页报表,您有下列选项: 1、使用Web 窗体 Viewer 工具栏上的“打印按钮报表导出为 PDF。 2、使用Web 窗体 Viewer 工具栏上的“导出按钮导出报表为可以由客户端的现有应用程序打印的格式。 3、使用PrintToPrinter 方法从服务器打印报表

haibodotnet的专栏 4186

水晶报表打印

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:Adobe JavaScript 作者:陈钰桃 撰写时间:2021年5月17日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 一、水晶报表打印 成果图 安装(水晶报表)插件 检查插件是否安..

sult812的博客 825

使用 水晶报表 实现打印

最近,给财务处开发了一个三联发票连打程序,使用的是C#--winform实现的。下面是水晶报表的基本概括: 水晶报表的一般概念  水晶报表的两种模式:  拉 PULL:设置好数据连接之后,使用水晶报表文件中所使用的获得数据的方式,由水晶报表自己解决数据获取操作。 推 PUSH:使用DataSet装载数据,然后填充到水晶报表中,再按照水晶报表的格式来展示。 查询的关键代码:   //

珍惜所有的一切 2003

水晶报表使用按钮导出EXCEL

public bool ExportToExcel(string ExcelFileName)     {         try         {             FileOPS.DiskFileName = ExcelFileName;             ExportOptions ExOPS = myReport.ExportOptions;//cr.ExportO

hongyanjava的专栏 1082

打印水晶报表

作者:李光辉 撰写时间:2019.5.7 打印是我们需要常用的的功能之一,下面是我收集的一些水晶报表的基础资料和学习理解过程:首先是下载水晶报表的插件并安装,设置报表的数据源,创建一个数据集来编辑出数据源的位置,画出水晶报表的模板样式。 可以通过两种方式添加数据源:一种是通过与数据库的表进行连接,把需要的表添加进来: 用水晶报表的“数据库专家”直接连接数据库,报表数据会即时显示在报表上,即把数据直...

weixin_44541136的博客 429

第21章 水晶报表打印

一、水晶报表二、Window打印组件的使用代码:        ///         /// 打印输出时,设置打印文档        ///         ///         ///         private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)        {            e.Graphics.DrawString("打印文档",new

Java_c# 1443

如何更改水晶报表导出文件的名称

如何更改水晶报表导出文件的名称<br />很多朋友都利用水晶报表技术来做报表,它支持直接将报表导出为包括Excel,Pdf在内的多种格式。它的导出操作是通过CrystalReportViewer上面的一个导出按钮实现的。我们无需为此编写任何代码。<br />正因为我们有为其编写代码,所以有一个问题就随之出现了。它内部处理的机制是:导出的时候自动用CrystalReportViewer的ID属性作为文件名,如果该ID 有空格,自动以下划线替换之。<br />那么,如果我们需要用这个CrystalReport

Selina_WEI的专栏 1555

WPF水晶报表打印

开发工具与关键技术:Visual Studio 撰写时间:2019年06月28日 在之前我有写过一篇MVC版的水晶报表打印,这次我写的是WPF版的水晶报表打印 一、制作水晶报表(由于这次制作的过程跟上次不太一样,所以我会重新制作一遍,大概的步骤还是一样的) 右键——>添加——>新建项 ...

weixin_44552861的博客 702

水晶报表点击打印或者导出时出现您请求的报表需要更多信息的解决

如图。这个问题网上出现最多的解决办法是提示要用推模式获取数据,不要使用拉模式。推模式就是应用程序自数据库获取数据源,然后再把数据推送个水晶报表引擎。检查我的数据获取方式。符合这个。水晶报表是自创建的datatable数据集中获取数据。而应用程序获取的数据以datatable形式通过 rptdoc.SetDataSource(dt); 方式赋个水晶报表。网上其他的方法就一个说到点子上的...

sxf359的博客 468
上一篇: 短信回执设置
下一篇: Excel数据导入到Sql server 2000
堕落小虫
博客等级 码龄19年 19粉丝 6原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值