none
水晶报表客户端打印问题,困扰我N天了,急死了 RRS feed

  • 问题

  • 开发环境:vs2005 +crystal report for vs2005 +sql 2000 +windowsxp
    我的一个页面中有个Crystal Report,还有一些DropDownlist,用于IE客户端选择报表的参数,然后通过一个button的click事件给一个数据集填充数据,这个数据集是Crystal Report的数据源,现在水晶报表能正常根据通过Dropdownlist选择的参数来显示数据,问题是,水晶报表的导出和打印按钮,无效。点击这两个按钮,页面就刷新一次,没有其他表现,而且水晶报表显示的数据也消失了。请问怎么解决。
    另外,怎么自定义水晶报表中导出和打印按钮的click事件
    a flying bird
    2009年6月23日 6:42

答案

  • 呵呵,你应该通过session把ReportDocument给保存住,然后在pageload里面再把session保存的ReportDocument给读出来赋给CrystalReportViewer!
    比如这样:在你的button的click事件最后Session["keepreport"] = myreport;在你的pageload里面 if (Session["keepreport"] != null)
            {
                CrystalReportViewer.ReportSource = (ReportDocument)Session["keepreport"];
            }

    • 已标记为答案 Ben.Yang 2009年6月29日 6:31
    2009年6月23日 8:42

全部回复

  • 一般来说  打印是需要开新窗口的   浏览器是不是把新窗口block了?
    紫柔版主的头像真叫萌得一个不行啊。。。。
    答案800 撒花
    2009年6月23日 6:48
  • web中使用水晶报表是要收费的,好像只能试用30次,
    努力+方法=成功
    2009年6月23日 7:09
  • 1、屏蔽了“弹出窗口阻止程序”
    2、vs2005自带的水晶报表不要收费吧?那位知道是否真的要收费


    a flying bird
    2009年6月23日 7:57
  • 呵呵,你应该通过session把ReportDocument给保存住,然后在pageload里面再把session保存的ReportDocument给读出来赋给CrystalReportViewer!
    比如这样:在你的button的click事件最后Session["keepreport"] = myreport;在你的pageload里面 if (Session["keepreport"] != null)
            {
                CrystalReportViewer.ReportSource = (ReportDocument)Session["keepreport"];
            }

    • 已标记为答案 Ben.Yang 2009年6月29日 6:31
    2009年6月23日 8:42
  • 你好,
    水晶报表现在是SAP的了,使用需要收费。
    网上查询说可以免费使用30次。
    所以如果你碰到水晶报表的问题可以去SAP的网站https://www.sdn.sap.com/irj/scn/forum?forumID=313&start=0寻求帮助。
    Microsoft Online Community Support
    2009年6月24日 3:07
  • 已经解决,谢谢各位


    a flying bird
    2009年6月29日 6:32
  • 请教下,楼主是怎么解决的? 我的程序发布以后,水晶报表显示 工具条上的 导出、打印、刷新按钮  都是显示为 一个个的 小红叉 似的。点击以后打开一个当前页的新窗口,却没有生成为PDF或者打印。  但是在程序 调试和 在浏览器中查看 的状态下都是正常的。都折腾好几天了,还是没解决问题。求教!!!

    2009年6月30日 7:05