水晶报表图片、分页

今天在做一个存折式打印的需求,考虑之前使用水晶报表做过表格报表,果断选择水晶报表来实现此功能。

过程中遇到了一些小问题,顺便记录一下。

第一步:环境安装

环境安装已在:水晶报表(web)表格信息展示  介绍

第二步:RPT文件添加

首先建一个RPT文件“CrystalReport.rpt”,在其上面添加图片。

添加图片方式:右键插入图片或者点击工具栏图片选择要添加文件的目录文件。

可以在“详细资料”中添加你想要添加的所有图片,添加后预览。

如果首页没有图片显示,而是一篇空白,那么请考虑如下两个问题。

1.有没有在“详细资料”编辑区底部留有大片空白,这样会导致第一页显示空白,看不到正文。

2.详细资料——专家节“保持在一起”已经选中,如果选中可以勾选去掉。

第三步:报表预览

报表预览中也会遇到一些麻烦,例如:

1.出现图片无法加载,显示叉叉。

解决方法:请在站点的web.config中加入一下配置,因为当你查看报表的html代码时会发现CrystalImageHandler.aspx所指定的文件不存在。

解决思路:http://www.cnblogs.com/babyt/archive/2008/11/20/1337181.html

<httpHandlers>            
      <add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
    </httpHandlers>

2.预览翻页,提示“没有有效的报表源”。

预览第一页显示不会发现任何不对,但是在翻页时,会发现弹出提示“没有有效的报表源”,此问题应该是因为翻页数据重新新绑定引起。

解决方法:在方法“Page_Init”中重新绑定数据

    protected void Page_Init(object sender, EventArgs e)
    {
        Initialize();
    }

    private void Initialize()
    {
        //证书打印
        BindReport();
    }
    protected void BindReport()
    {
        string path = Server.MapPath("~/Crystal_Reports/CrystalReport.rpt");
        myReport.Load(path);
        CrystalReportViewer1.HasToggleGroupTreeButton = false;
        CrystalReportViewer1.DisplayGroupTree = false;
        CrystalReportViewer1.HasCrystalLogo = false;
        //CrystalReportViewer1.HasGotoPageButton = false;
        CrystalReportViewer1.HasPageNavigationButtons = true;
        CrystalReportViewer1.HasSearchButton = false;
        CrystalReportViewer1.HasZoomFactorList = false;
        CrystalReportViewer1.HasRefreshButton = false;
        //指定数据源
        CrystalReportViewer1.ReportSource = myReport;
    }

 3.不分页显示

解决方法:如果不需要分页则可以设置“SeparatePages”属性

        //禁止分页
        CrystalReportViewer1.SeparatePages = false;

 

你可能感兴趣的:(水晶报表图片、分页)