Jasper reports 我可以从条件样式表达式访问当前报表元素吗?
我可以基于文本值创建条件样式吗 例如:Jasper reports 我可以从条件样式表达式访问当前报表元素吗?,jasper-reports,Jasper Reports,我可以基于文本值创建条件样式吗 例如: <style name="Data"> <conditionalStyle> <conditionExpression><![CDATA[!String.valueOf(<CURRENT_DATA>).equals("SOME_VALUE")]]></conditionExpression> <style isBold="true" for
<style name="Data">
<conditionalStyle>
<conditionExpression><![CDATA[!String.valueOf(<CURRENT_DATA>).equals("SOME_VALUE")]]></conditionExpression>
<style isBold="true" forecolor="#0000FF"/>
</conditionalStyle>
</style>
很遗憾,在表达式之前已计算样式
我可以访问表达式中的当前报表元素吗?
-这是什么意思?在我看来,您似乎不理解在textField元素中打印的JasperReportsText可以是某些表达式的结果,如“$F{field1}+$F{field2}”,我需要根据表达式结果创建样式。例如,如果结果大于数字的某个值,则设置为粗体
<textField>
<textElement markup="styled"/>
<textFieldExpression><![CDATA[<EXRESSION> == "SOME_VALUE" ? "<style isBold='true'>" + <EXRESSION> + "</style>" : <EXRESSION>]]></textFieldExpression>
</textField>
protected void evaluateText(byte evaluation)
throws JRException
{
evaluateProperties(evaluation);
evaluateStyle(evaluation);
value = evaluateExpression(getExpression(), evaluation);