2014-09-22 30 views
0

我試圖用它來打印值條件下表中的值使用條件打印iREPORT分享到人人

我有三列ABC

A is string 
B is integer 
C is integer 

我的條件是,如果列A ==「用戶」
然後在B列的打印值或使其無效

($F{A}.equals("USER")?null:$F{B}) 

這給類型轉換錯誤

<jr:column width="15" uuid="733459e9-1ed8-4ce2-a74d-87dc078b1382"> 
           <jr:tableFooter height="29" rowSpan="1"/> 
           <jr:columnFooter style="table 8_CH" height="30" rowSpan="1"/> 
           <jr:detailCell style="table 8_TD" height="20" rowSpan="1"> 
            <textField isBlankWhenNull="true"> 
             <reportElement x="0" y="0" width="15" height="20" uuid="bd3860a4-999a-4121-a701-3481a4fdf98e"/> 
             <textElement textAlignment="Center" verticalAlignment="Middle"> 
              <font size="8"/> 
             </textElement> 
             <textFieldExpression><![CDATA[$F{TOP}]]></textFieldExpression> 
            </textField> 
           </jr:detailCell> 
          </jr:column> 
          <jr:column width="15" uuid="2e7fa82c-7f28-4af6-a63d-ae468afeea32"> 
           <jr:tableFooter height="29" rowSpan="1"/> 
           <jr:columnFooter style="table 8_CH" height="30" rowSpan="1"/> 
           <jr:detailCell style="table 8_TD" height="20" rowSpan="1"> 
            <textField isBlankWhenNull="true"> 
             <reportElement x="0" y="0" width="15" height="20" uuid="33707346-9121-4010-8c12-981eb9f4de77"> 
              <printWhenExpression><![CDATA[$F{TOP}.endsWith("NN")?null:$F{COP}]]></printWhenExpression> 
             </reportElement> 
             <textElement textAlignment="Center" verticalAlignment="Middle"> 
              <font size="8"/> 
             </textElement> 
             <textFieldExpression><![CDATA[$F{COP}]]></textFieldExpression> 
            </textField> 
           </jr:detailCell> 
          </jr:column> 
+1

?你應該發佈* jrxml *文件 – 2014-09-22 11:32:55

+0

你能幫我查詢代碼是三頁長嗎 – 2014-09-22 11:35:35

+1

尤其是顯示你​​周圍的行($ F {A} .equals(「USER」)?null:$ F {B} )'。 – mkl 2014-09-22 13:17:05

回答

0

$F{TOP}.endsWith("NN")?null:$F{COP}這不應該在「打印當表達式」字段中,這是一個布爾表達式字段:像打印時,如果這=該表達式。例如,如果我不想看到該字段,我會在表達字段中輸入0==1。因此,當表達式字段時,從打印中刪除該行。

您希望將該行放入該字段中。所以,用鼠標右鍵單擊該領域TOP(我假定這是你想改變它是否與NN結束字段),並選擇編輯表達式和您正在使用什麼版本* iReport的*的,就把這行替換的$F{TOP}

+0

填充打印錯誤... java.lang.String不能轉換爲java.lang.Boolean java.lang.ClassCastException:java.lang.String不能轉換爲java.lang.String。布爾型 這是我得到的錯誤 – 2014-09-23 04:13:37

+0

我已經添加了我的部分代碼 – 2014-09-23 04:18:42