水晶报表10 打印、导出按钮不能用
来源:互联网 发布:美工助理面试自我介绍 编辑:程序博客网 时间:2024/05/17 20:00
最近公司接了一个项目,要给客户做许多报表,并且是中国式的报表,本人就用了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){ //}执行之后要把表重新绑定到数据源,这样才不会错误。
转自:http://blog.csdn.net/matail/article/details/1789489
- 水晶报表10 打印、导出按钮不能用
- 水晶报表10 打印、导出按钮不能用
- [水晶报表]不显示报表直接打印
- 水晶报表使用按钮导出EXCEL
- 缓存导致水晶报表无法导出、打印
- Asp.net 水晶报表之打印和导出格式
- 水晶报表的打印
- 水晶报表打印
- 水晶报表 打印补丁
- 水晶报表 打印
- 水晶报表打印
- 水晶报表打印
- web程序发布后,水晶报表工具栏不显示按钮
- 使用参数控制水晶报表的部分元素不打印
- 水晶报表导出数据
- 水晶报表导出
- 水晶报表程序控制导出
- 水晶报表的导出
- android.net.ConnectivityManager
- 字符串编码之间的转换(GB2312<->UTF8<->Unicode)及URLEncoding
- [SGU]114. Telecasting station
- 基本导入和导出excel
- DBCP 应用的总结(一)
- 水晶报表10 打印、导出按钮不能用
- 利息计算器
- 转载:C++输出格式控制
- 通过书中的一个小例子来了解一下简单的python基础
- VS2010中安装asp.net mvc3.0出错解决办法
- C++ 四则运算表达式(简单的+-*/带括号) 栈
- 海量数据处理面试题集锦
- spring3.0与3.1新特性
- algo2-3-1.c 教科书中图2.10 静态链表示例