2

jrxmlのテーブルにチェックボックスを表示できません。

これが私のコードのサンプルです:

<detail>
    <band height="45" splitType="Stretch">
        <textField isBlankWhenNull="true">
            <reportElement style="MyCustomStyle" stretchType="RelativeToTallestObject" x="650" y="0" width="80" height="35"/>
            <textElement textAlignment="Center"/>
            <textFieldExpression class="java.lang.Boolean"><![CDATA[$F{myBooleanVariable}]]>
            </textFieldExpression>
        </textField>
    </band>
</detail>

列にはtrueまたはfalseが表示されます。textFieldExpression要素で指定するclass="java.lang.Boolean"と、値がチェックボックスに変換されると思いましたが、どうやらそれ以上のものが必要です。

私が間違っていることについて何か考えはありますか?

4

5 に答える 5

6

すでに作成したソリューションにUnicodeを追加しました。

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

u2713目盛りとu2717十字に変換されます

xmlページの上部にあるencodingステートメントがUTF8に設定されていることを確認してください。

于 2013-08-06T15:19:06.987 に答える
4

jasperHTMLレポートのチェックボックスは次のようになります。

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

注:Unicodeをサポートするフォントを使用する必要があります

上記のPDFではコードは使用できません。フォント拡張を使用するか、次のように線を描画する必要があります

<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>

于 2015-07-28T10:58:42.990 に答える
4

簡単です、これをタグ->imageExpression<-で行います

        <componentElement>
            <reportElement x="196" y="109" width="46" height="39"/>
            <jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical">
                <datasetRun subDataset="dataset3">
                    <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{fisicos})]]></dataSourceExpression>
                </datasetRun>
                <jr:listContents height="39" width="46">
                    <image>
                        <reportElement x="12" y="0" width="17" height="21"/>
                        <imageExpression><![CDATA[$F{_THIS} == true ? $P{checkboxFisicoOK} : $P{checkboxFisicoNOK}]]></imageExpression>
                    </image>
                </jr:listContents>
            </jr:list>
        </componentElement>

ここに画像の説明を入力してください

  • チェックボックスFisicoOK:画像パスのパラメータです。

    <parameter name="checkboxFisicoOK" class="java.lang.String" isForPrompting="false">
        <defaultValueExpression><![CDATA[new java.lang.String("/Users/ccamol/onprocess/checkboxOK.jpg")]]></defaultValueExpression>
    </parameter>
    
于 2016-07-19T21:24:52.277 に答える
2

そうですね、どうやらその言語のテーブルにチェックボックスを追加することはできません!

だから今私はYES/NOを表示するだけです:

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

それは私が見つけることができた最高です!

于 2011-06-21T12:45:50.470 に答える
1

PDFの場合、これは私にとってはうまくいき、フォントをUnicodeをサポートするフォントに明示的に設定しました。

<textField>
    <textElement>
        <font fontName="DejaVu Sans" size="16"/>
    </textElement>
    <textFieldExpression><![CDATA[$F{myBooleanVariable}?"\u2611" : "\u2610"]]></textFieldExpression>
</textField>
于 2019-07-25T09:17:43.237 に答える