在线报表FineReport中js自定义按钮…

FineReport支持多种不同的导出方式,直接使用FineReport内置导出按钮可以非常快捷方便的来对各种格式的输出,但是我们在web页面集成中的时候,往往只想讲报表内容嵌入到iframe中,而工具栏以及工具栏上的按钮都会隐藏掉,而使用web页面自定义的按钮,那么,此时,这种自定义按钮如何实现导出呢,下面就通过在线报表FineReport来简单介绍一下。

工具/原料

  • 在线报表FineReport7.1.1
  • 大小:148.2M 适用平台:windows/linux

方法/步骤

  1. 我们新建一个html页面,定义一个工具栏和一个iframe,工具栏中定义上图所示的按钮,iframe中嵌入FR中的报表,如下图:

  2. FR报表设置

    打开设计器,找到上面web页面中嵌入的那张模板,由于要使用自定义按钮作为工具栏,那么FR报表内置的工具栏就无需显示出来。点击模板>模板web属性>分页预览设置,去掉使用工具栏前面的勾选,如下图:

  3. 自定义导出按钮

    web页面中定义了6个自定义导出按钮,那么怎样才能实现导出操作呢?

    FineReport导出操作的js接口为:

    导出PDF:exportReportToPDF()

    导出[Excel](分页):exportReportToExcel('page')

    导出[Excel](原样):exportReportToExcel('simple')

    导出[Excel](分页分sheet):exportReportToExcel('sheet')

    导出[图片]:exportReportToImage('gif')【括号里面可以更换参数,比如说png,jpg等等图片类型】

    导出[word]:exportReportToWord()

    故,各个按钮的点击事件应该调用上述的js接口来实现其对应的导出格式,比如说导出PDF,那么其按钮的onclikc事件为:

     οnclick="document.getElementByIdx_x('reportFrame').contentWindow.contentPane.exportReportToPDF()"

    注:document.getElementByIdx_x('reportFrame')是获取到iframe框架,然后通过contentWindow得到报表窗口,并拿到contentPane这个报表容器,最后就可以从容器中调用各种导出接口的方法了。

  4. 完整代码

    根据上述同样的方法为其他几个按钮添加导出事件,完整代码如下:

     

       

       

       

         

     
  5. 效果查看

    点击不同的按钮,即可看到其导出的结果:

    END
原作者: FineReport
发布了54 篇原创文章 · 获赞 6 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/shen251515338/article/details/79292279