iReport中的if语句

iReport中的if语句
在iReport中可以⽤if语句来判断组件是否显⽰,使⽤的是printWhenExpression属性,属性值的格式是这样的:new Boolean(xxxxxxx)
括号⾥是返回boolean值的表达式
举个例⼦:
我定义了⼀个Label,没有内容⽂字,只是⼀个红框框,如果后台传来的某参数符合某个值,就显⽰这个框框,否则不显⽰,在Designer视图和XML视图下分别是这么配置的:
Designer视图:
printWhenExpression属性⾥设置的值可以是:
new Boolean($F{packageCount}=="121包")
或者
new Boolean($F{packageCount}==null)
packageCount是我⾃⼰定义的变量,从后台传过来的,如果这么写,代表如果packageCount的值是121包的时候,这个Label会显⽰,否则不会显⽰。
XML视图配置如下:
<staticText>
<reportElementx="348" y="50" width="39" height="22"forecolor="#FF3333"uuid="48701fb2-f14f-4eb0-8f66-0d6b969a4488">
<printWhenExpression><![CDATA[newBoolean($F{packageCount}=="121包")]]></printWhenExpression>
</reportElement>
<box>
<topPenlineWidth="2.0"/>
<leftPenlineWidth="2.0"/>
<bottomPenlineWidth="2.0"/>
<rightPenlineWidth="2.0"/>
</box>
<textElementtextAlignment="Center" verticalAlignment="Middle">
<fontsize="14" isBold="true"pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H"isPdfEmbedded="true"/>
</textElement>
<text><![CDATA[]]></text>
</staticText>
重点是那个<printWhenExpression>,其他的都是设置Label的其他属性⽤的
除了Label之外,其他的组件也可以使⽤printWhenExpression属性。
另外我试了⼀下这个表达式的格式,有以下结论:
new Boolean($F{packageCount}=="121包") 可以
new Boolean($F{packageCount}=='121包') 可以
new Boolean($F{packageCount}==121包) 不⾏,过不了编译
new Boolean($F{packageCount}!=121) 可以
new Boolean($F{packageCount}.intValue()!=121) 可以通过编译,但是如果后台传来的参数不是数字的话,会报如下异常:
net.ine.fill.JRExpressionEvalException:Error evaluating expression :
Sourcetext : new Boolean($F{packageCount}.intValue()!=121)
atnet.ine.fill.JREvaluator.evaluate(JREvaluator.java:263)
atnet.ine.fill.JRCalculator.evaluate(JRCalculator.java:611)
atnet.ine.fill.JRCalculator.evaluate(JRCalculator.java:579)
atnet.ine.fill.JRFillElement.evaluateExpression(JRFillElement.java:1016)
atnet.ine.fill.JRFillElement.evaluatePrintWhenExpression(JRFillElement.java:795)
atnet.ine.fill.JRFillStaticText.evaluate(JRFillStaticText.java:113)
atnet.ine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259)
atnet.ine.fill.JRFillBand.evaluate(JRFillBand.java:456)
atnet.ine.fill.JRVerticalFiller.fillBandNoOverflow(JRVerticalFiller.java:467)
atnet.ine.fill.JRVerticalFiller.fillPageHeader(JRVerticalFiller.java:431)
atnet.ine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:292)
梅契尼科夫
atnet.ine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:152)
atnet.ine.fill.JRBaseFiller.fill(JRBaseFiller.java:963)
atnet.ine.fill.JRBaseFiller.fill(JRBaseFiller.java:892)
atnet.ine.fill.JRFiller.fill(JRFiller.java:114)
atnet.ine.JasperFillManager.fill(JasperFillManager.java:668)
atnet.ine.JasperFillManager.fillReport(JasperFillManager.java:984)
atcom.s.util.IReportUtils.outPdf(IReportUtils.java:56)
三星i788atcom.s.sort.web.action.SortDeliveryHandoverSumController.sumDeliveryPrintAgain(SortDeliveryHandoverSumController.java:1844)        flect.NativeMethodAccessorImpl.invoke0(Native Method)
flect.Method.invoke(Method.java:606)
atorg.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:175)
atorg.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:446)        atorg.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:434)
atorg.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
atorg.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
atorg.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
atorg.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:620)
atorg.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:727)
atorg.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
atorg.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at.websocket.server.WsFilter.doFilter(WsFilter.java:52)
atorg.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atcom.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)
atorg.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:322)
atorg.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
atorg.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
atcom.security.access.intercept.UrlSecurityInterceptor.invoke(UrlSecurityInterceptor.java:87)
atorg.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
atorg.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
sofa评分atorg.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
atorg.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
杨梢叶甲atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
atorg.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)        atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
atorg.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
atorg.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)        atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
atorg.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)        atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
atorg.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
atorg.springframework.t.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:65)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
atorg.springframework.t.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
atorg.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
atorg.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:184)
atorg.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:155)
atorg.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
atorg.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
atcom.security.access.intercept.SecurityFilterProxy.doFilter(SecurityFilterProxy.java:71)
atorg.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atcom.t.ContextPersistenceFilter.doFilter(ContextPersistenceFilter.java:78)
atorg.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atorg.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
atorg.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:150)
atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)rtiyishu
atorg.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atorg.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
atorg.StandardContextValve.invoke(StandardContextValve.java:122)
atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
atorg.StandardHostValve.invoke(StandardHostValve.java:170)
atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
atorg.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
atorg.StandardEngineValve.invoke(StandardEngineValve.java:116)
atorg.tor.CoyoteAdapter.service(CoyoteAdapter.java:421)
http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at.util.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
urrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
urrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
atjava.lang.Thread.run(Thread.java:745)
Caused by: groovy.lang.MissingMethodException:No signature of method: java.lang.String.intValue() is applicable for argumenttypes: () values: [] Possible solutions: intern()
atexpSumDeliveryNoPrint_1513825399653_142592.evaluate(calculator_expSumDeliveryNoPrint_1513825399653_142592:246)
atnet.ine.fill.JREvaluator.evaluate(JREvaluator.java:250)
...102 more
iReport功能还是蛮强⼤的,就是有点重。
中美经济关系

本文发布于:2024-09-23 16:20:27,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/292643.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:后台   传来   属性   参数
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议