桑基图在浏览器中预览决策报表表格内容转换到桑基图出错

桑基图在浏览器中预览报表格内容转换错:com.fr.chart.chartdata.NormalChartData cannot be cast to com.fr.plugin.sankeychart.custompie.data.TableDataContent。同一模板,一批数据可以显示出,另一批显示时报错。两批数据的差异是另一批数据内容中有()/,等字符



补充:换成模板数据集可以显示,不需替换数据特殊字符,但是不太方便组织两个数据源的数据到一个图。下载.png

FineReport 用户j1154936 发布于 2021-1-7 16:49 (编辑于 2021-1-7 17:50)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
用户j1154936Lv2见习互助
发布于2021-1-7 18:18

谢谢zsh331。最终问题解决了应该是第二个数据集没有依据第一个数据集过滤。使用单元格数据目前不用替换特殊字符。就是感觉,图片上面部分好像被切掉一样,节点在纵向上有重叠。图表组件高度调不了很大55.png

最佳回答
0
zsh331Lv8专家互助
发布于2021-1-7 17:22

-- 【特殊符号】导致数据在桑基图中展示时,无法正常转换;这个建议在数据源上做处理;底层的桑基图转换逻辑我们无法控制;

  • 用户j1154936 用户j1154936(提问者) 在写到单元格数据源时,对数据值$$$做了特殊字符替换 replace($$$,\"/\",\"\"),通过嵌套替换是可以替换完毕的,但是依然无法加载数据到桑基图,报错如下:6:57:40 http-nio-8075-exec-6 ERROR [standard] com.fr.chart.chartdata.NormalChartData cannot be cast to com.fr.plugin.sankeychart.custompie.data.TableDataContent java.lang.ClassCastException: com.fr.chart.chartdata.NormalChartData cannot be cast to com.fr.plugin.sankeychart.custompie.data.TableDataContent at com.fr.plugin.sankeychart.custompie.SanKeyChartWithCustomPane.toJSON(SanKeyChartWithCustomPane.java:150) at com.fr.chart.chartattr.Charts$1.toJSONObject(Unknown Source) at com.fr.chart.chartglyph.ChartGlyph.toJSONMap(Unknown Source) at com.fr.chart.chartattr.ChartPainter.createAttributeConfig(Unknown Source) at com.fr.chart.web.ChartWriteHtmlAction.actionCMD(Unknown Source) at com.fr.web.core.WebActionsDispatcher.dealForActionCMD(Unknown Source) at com.fr.web.core.WebActionsDispatcher.dealForActionDefaultCmd(Unknown Source) at com.fr.web.core.WebActionsDispatcher.dealForActionCMD(Unknown Source) at com.fr.chart.web.Chart4BSService.process(Unknown Source) at com.fr.web.core.ReportDispatcher.dealWithOp(Unknown Source) at com.fr.web.core.ReportDispatcher.dealWeblet(Unknown Source) at com.fr.web.core.ReportDispatcher.dealWithRequest(Unknown Source) at com.fr.web.controller.BaseRequestService.preview(Unknown Source) at com.fr.web.controller.FormRequestService.preview(Unknown Source) at sun.reflect.GeneratedMethodAccessor114.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.fr.third.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) at com.fr.third.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) at com.fr.third.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) at com.fr.third.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:747) at com.fr.third.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:676) at com.fr.third.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at com.fr.third.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938) at com.fr.third.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870) at com.fr.third.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) at com.fr.third.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852) at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) at com.fr.third.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.fr.decision.base.DecisionServletInitializer$6.doFilterInternal(Unknown Source) at com.fr.third.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.fr.decision.base.DecisionServletInitializer$4.doFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.fr.plugin.mobile.web.server.single.login.filter.Html5SingleLoginFilter.doFilter(Unknown Source) at com.fr.decision.base.DecisionServletInitializer$5.doFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.fr.third.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at com.fr.third.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)
    2021-01-07 17:44 
  • 用户j1154936 用户j1154936(提问者) 还有就是,数据量比较大,换成模板数据集,不用替换特殊字符也可以显示。
    2021-01-07 17:46 
  • zsh331 zsh331 回复 用户j1154936(提问者) 里面的加载逻辑也无法说清楚,建议不管是单元格还是数据集数据源上,直接把特殊符号处理掉;
    2021-01-07 17:48 
  • 1关注人数
  • 145浏览人数
  • 最后回答于:2021-1-7 18:18
    请选择关闭问题的原因
    确定 取消
    返回顶部