[老]使用JS修改单元格样式后打印导出当前样式

编辑
  • 文档创建者:yets11
  • 浏览次数:3621次
  • 编辑次数:6次
  • 最近更新:Kevin-s 于 2019-06-04
  • 1.概述

    在填报页面中,有时使用JS对页面样式进行调整,比如使用 JS 实现改变复选框选中行中指定单元格背景色,点击复选框之后改变指定单元格颜色,需要进行导出或打印报表时,发现样式并没有生效,如下图:


    选择工具栏打印-打印[客户端]进行打印预览,可以看到,后面单元格颜色样式并没有发生改变,如下图

    那么,如何才能正确打印出这种通过JS改变某个单元格后,导出的样式也同样发生改变呢。如下图


    2.解决思路

    因为 JS 是在前端改的样式,后端存储的样式并没有发生改变,而进行打印或导出时会调取后台数据及设置的样式,所以必须利用内置的条件属性方法进行间接地改变单元格打印或导出时的颜色。

    3. 解决过程

    3.1 修改报表

    使用 JS实现改变复选框选中行中指定单元格背景色 教程修改%FR_HOME%\webapps\webroot\WEB-INF\reportlets\GettingStarted.cpt


    3.2 为单元格设置条件属性



    3.3 向后台提交修改的值

    在 E4 单元格输入公式=A4,并设置隐藏 E 列


    注:这一步是最重要的,这里使用一个额外的公式是因为在填报中,虽然改变了控件的值,但是并没有即时提交到后台中,使用一次公式是为了使改变的值在后台生效。


    3.4 保存与预览

    保存模板,进行填报预览,再进行打印预览,可以看到概述中的最终效果了。

    其他样式都可以参考这个,修改对应的条件属性即可。

    如果不是这种复选框改变的,而是某个按钮点击改变的样式,可以通过在 JS 中用contentPane.setCellValue(cell,null,value)来修改辅助单元格的值,

    同样,需要在另外一个单元格中用公式=单元格,向后台提交一次值并引用,才能在打印导出的条件属性中生效,与预览的效果一致。

    如果需要设置打印导出复选框控件,参考 复(单)选框(组)的打印导出


    4. 移动端

    移动端不支持各种打印和导出方式


    附件列表


    主题: 填报应用
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]