反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

单选按钮组控件的打印/导出

  • 文档创建者:RF
  • 历史版本:11
  • 最近更新:Leo.Tsai 于 2022-08-19
  • 1. 概述

    1.1 问题描述

    介绍填报时打印或导出复选框时,知道修改配置项的方法只支持打印或导出「复选按钮」与「复选按钮组」控件。

    但是在做一些报告、合同的时候,单元格中可能有「单选按钮组」控件,导出和打印时默认只显示选中的值,其他值不显示。

    那么该如何实现打印或导出所有的「单选按钮组」控件呢?

    1.2 解决思路

    导出和打印时,单元格值会受到形态设置的影响,那么可以通过设置单元格形态数据字典的显示值,利用搜狗输入法的特殊符号来实现。针对每一个不同的选择,分别设置不同的显示值选中状态。

    注:移动端没有打印的概念,该方案是支持 移动端导出 的。

    2. 示例

    2.1 报表设计

    建立数据集ds1,通过sql取出5条数据:

    新建普通报表,B1和B2单元格添加「单选按钮组控件」,表格样式如下图所示:

    设置B1和B2单元格的「单选按钮组控件」数据字典为ds1,实际值和显示值都为产品名称字段,选择「自适应」:

    2.2 方法一:逐条设置形态

    选中B1单元格,选择「单元格属性>形态」,设置为「数据字典>自定义」。如下图所示:

    设置实际值和显示值如下表所示:

    实际值
    显示值
    苹果汁●苹果汁  ○牛奶  ○番茄酱  ○盐  ○麻油
    牛奶○苹果汁  ●牛奶  ○番茄酱  ○盐  ○麻油
    蕃茄酱○苹果汁  ○牛奶  ●番茄酱  ○盐  ○麻油
    ○苹果汁  ○牛奶  ○番茄酱  ●盐  ○麻油
    麻油○苹果汁  ○牛奶  ○番茄酱  ○盐  ●麻油

    上述输入显示值时,其中的 ● 和 ○ 是通过搜狗输入法的特殊字符输入的字符串,输入方式如下图所示:

    Snag_19f758b4.png

    2.3 方法二:统一设置形态

    方法一需要逐条设置,在单选按钮组控件的选项较多或者后续会变化的情况下不太好用,所以有另一种统一设置的办法,需要用到公式来判断处理。

    选中B2单元格,选择「单元格属性>形态」,设置为「数据字典>公式形态」。如下图所示:

    设置公式为:joinarray(MAPARRAY(value("ds1", "产品名称"), if(item = $$$, "●", "○") + item), "  ")

    公式说明:

    value("ds1", "产品名称") :取出ds1数据集的产品名称列的所有值,返回值组成的数组

    MAPARRAY(value("ds1", "产品名称"), if(item = $$$, "●", "○") + item) :对数组进行遍历判断,如果为当前选中的值,则在前面插入●,其余值在前面插入

    joinarray(MAPARRAY(value("ds1", "产品名称"), if(item = $$$, "●", "○") + item), "  ") :将数组转为字符串,分隔符为空格

    2.4 效果预览

    保存报表,点击「填报预览」,效果如下图所示:

    点击「打印」或导出,Excel、Word 、PDF 和图片均可以正常导出,效果如下图所示:

    方法一:在按钮组控件未选择任何值的情况下不支持导出和打印

    方法二:在按钮组控件没有默认值,且预览后未编辑过的情况下不支持导出和打印

    3. 模板下载

    已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\FormFAQ\打印导出单选按钮组控件.cpt

    点击下载模板:打印导出单选按钮组控件.cpt

    附件列表


    主题: 填报应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526