Checkbox JRXML-在表中显示复选框

Checkbox JRXML-在表中显示复选框,checkbox,jasper-reports,xmltable,Checkbox,Jasper Reports,Xmltable,我无法在jrxml中的表中显示复选框 以下是我的代码示例: 该列仅显示true或false。我认为在textFieldExpression元素中指定class=“java.lang.Boolean”会将该值转换为复选框,但显然,我需要更多 知道我做错了什么吗?是的,所以显然不可能在表中添加带有该语言的复选框 现在我只显示是/否: <textFieldExpression class="java.lang.String"><![CDATA[$F{myBooleanVariab

我无法在jrxml中的表中显示复选框

以下是我的代码示例:


该列仅显示truefalse。我认为在textFieldExpression元素中指定
class=“java.lang.Boolean”
会将该值转换为复选框,但显然,我需要更多


知道我做错了什么吗?

是的,所以显然不可能在表中添加带有该语言的复选框

现在我只显示是/否:

<textFieldExpression class="java.lang.String"><![CDATA[$F{myBooleanVariable}?"YES":"NO"]]></textFieldExpression>


这是我能找到的最好的了

我刚刚在您已经制作的解决方案中添加了一些unicode:

<textFieldExpression><![CDATA[$F{myBooleanVairiable}? "\u2713":"\u2717"]]></textFieldExpression>

u2713
转换为记号,
u2717
转换为十字


记住要确保xml页面顶部的编码语句设置为UTF8:

复选框,jasper HTML报告中的复选框可以如下所示

<textFieldExpression><![CDATA[$F{myBooleanVairiable}? "\u2713":"\u2717"]]></textFieldExpression>
<frame>
<reportElement x="161" y="73" width="12" height="12"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
    <pen lineWidth="1.0"/>
    <topPen lineWidth="1.0"/>
    <leftPen lineWidth="1.0"/>
    <bottomPen lineWidth="1.0"/>
    <rightPen lineWidth="1.0"/>
</box>
<line>
    <reportElement x="2" y="7" width="2" height="2">
        <printWhenExpression><![CDATA[Boolean Exprssion]></printWhenExpression>
    </reportElement>
</line>
<line direction="BottomUp">
    <reportElement x="4" y="3" width="6" height="6">
        <printWhenExpression><![CDATA[Boolean Exprssion]]]></printWhenExpression>
    </reportElement>
</line>

注意:必须使用支持unicode的字体

在PDF中,无法使用上述代码。我们要么使用字体扩展,要么按如下方式画线

<textFieldExpression><![CDATA[$F{myBooleanVairiable}? "\u2713":"\u2717"]]></textFieldExpression>
<frame>
<reportElement x="161" y="73" width="12" height="12"/>
<box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0">
    <pen lineWidth="1.0"/>
    <topPen lineWidth="1.0"/>
    <leftPen lineWidth="1.0"/>
    <bottomPen lineWidth="1.0"/>
    <rightPen lineWidth="1.0"/>
</box>
<line>
    <reportElement x="2" y="7" width="2" height="2">
        <printWhenExpression><![CDATA[Boolean Exprssion]></printWhenExpression>
    </reportElement>
</line>
<line direction="BottomUp">
    <reportElement x="4" y="3" width="6" height="6">
        <printWhenExpression><![CDATA[Boolean Exprssion]]]></printWhenExpression>
    </reportElement>
</line>


简单,在标签->图像表达式上执行此操作

  • checkboxFisicoOK:是图像路径的参数

    <parameter name="checkboxFisicoOK" class="java.lang.String" isForPrompting="false">
        <defaultValueExpression><![CDATA[new java.lang.String("/Users/ccamol/onprocess/checkboxOK.jpg")]]></defaultValueExpression>
    </parameter>
    
    
    

对于PDF,这对我很有效,明确地将字体设置为支持unicode的字体:

<textField>
    <textElement>
        <font fontName="DejaVu Sans" size="16"/>
    </textElement>
    <textFieldExpression><![CDATA[$F{myBooleanVariable}?"\u2611" : "\u2610"]]></textFieldExpression>
</textField>


不幸的是,当您将报告导出为pdf格式时,这似乎不起作用。我尝试了几种字体类型,但似乎没有一种有效。请明确使用包含所述字形的字体。PDF导出中的字体在Jasper.Great中是一个特殊的野兽。这应该是可以接受的。只有一个细节:您必须定义两个参数:用于添加图像的checkboxFisicoOK和CheckBoxFisiCoNokupNoted。。。除了您的答案,此线程中没有人发布其代码的输出。图片说明。。