标题: [问题已解决]报表预览错误could not load value for ..Table.ColumnWidths [打印本页]
作者: xuxudodo 时间: 2010-4-12 10:14 标题: [问题已解决]报表预览错误could not load value for ..Table.ColumnWidths
我在测试中出现这样的错误提示,问题是,在建数据源预览时可以,但是在设计界面 将视图ROW(行) 拖进去 预览就没有任何显示,出现以下错误提示:
测试环境:
java 1.6
SQL SERVER 2005
是软件的问题,还是我数据的问题复制内容到剪贴板
代码:
log4j:WARN No appenders could be found for logger (ZAccessorElement).
log4j:WARN Please initialize the log4j system properly.
could not load value for jatools.component.table.Table.ColumnWidths
D:\report\test.xml
could not load value for jatools.component.table.Table.ColumnWidths
java.lang.ArrayIndexOutOfBoundsException: 0
at jatools.engine.CellFinder.create(CellFinder.java:79)
at jatools.engine.printer.table.TablePrinter.createLayout(TablePrinter.java:183)
at jatools.engine.printer.AbstractContainerPrinter.next(AbstractContainerPrinter.java:260)
at jatools.engine.printer.AbstractContainerPrinter.print(AbstractContainerPrinter.java:201)
at jatools.engine.printer.table.TablePrinter.print(TablePrinter.java:60)
at jatools.engine.printer.AbstractContainerPrinter.printChildren(AbstractContainerPrinter.java:144)
at jatools.engine.printer.AbstractContainerPrinter.next(AbstractContainerPrinter.java:264)
at jatools.engine.printer.AbstractContainerPrinter.print(AbstractContainerPrinter.java:201)
at jatools.engine.printer.AbstractContainerPrinter.printChildren(AbstractContainerPrinter.java:144)
at jatools.engine.printer.AbstractContainerPrinter.next(AbstractContainerPrinter.java:264)
at jatools.engine.printer.AbstractContainerPrinter.print(AbstractContainerPrinter.java:201)
at jatools.engine.printer.ReportPrinter.print(ReportPrinter.java:256)
at jatools.designer.ReportPreviewer$1.run(ReportPreviewer.java:212)
at java.lang.Thread.run(Thread.java:619)
[ 本帖最后由 xuxudodo 于 2010-4-12 15:56 编辑 ]
作者: three 时间: 2010-4-12 11:01
麻烦你把模板用附件发上来。。.
你也可以试下附件中的模板是否可以预览
[attach]201[/attach]
[ 本帖最后由 three 于 2010-4-12 11:19 编辑 ]
作者: xuxudodo 时间: 2010-4-12 11:52
测试数据源SQL SERVER 2005
driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
URL: jdbc:sqlserver://192.168.1.5:1433;DatabaseName=master
SQL 属性:复制内容到剪贴板
代码:
SELECT TOP 1000 [name]
,[number]
,[type]
,[low]
,[high]
,[status]
FROM [master].[dbo].[spt_values]
结果:
编辑jdbc数据集 预览时OK,但是ROW拖进后 就没有显示
作者: three 时间: 2010-4-12 13:53
你现在试下这个模板是否可以
[attach]203[/attach]
如果模板还是有问题的话。。。
那你就把SQL语句修改一下
改成如下形式
SELECT TOP 1000 [name] as NAME
,[number] as NUM
,[type] as TYPE
,[low] as LOW
,[high] as HIGH
,[status] as STATUS
[ 本帖最后由 three 于 2010-4-12 13:59 编辑 ]
作者: xuxudodo 时间: 2010-4-12 14:46
使用你提供的调整的master.xml后,
添加数据集时预览OK,
视图ROW调用后预览OK,
WEB报表调用预览OK!
但是通过软件添加生成的,还是有点问题,好像与SQL语句没有关系
对比结果如下
[attach]204[/attach]
作者: xuxudodo 时间: 2010-4-12 14:48
我去掉原来有问题文件中的.复制内容到剪贴板
代码:
<NodePath>master5</NodePath>
<X>20</X>
<Y>20</Y>
<Children>
<Item0 Class="RowPanel">
<Cell>
<Row>1</Row>
<Col>0</Col>
<ColSpan>0</ColSpan>
</Cell>
<NodePath>Row</NodePath>
</Item0>
<Item1 Class="Label">
<Text>总计</Text>
<Cell>
<Row>2</Row>
<Col>0</Col>
<ColSpan>0</ColSpan>
</Cell>
</Item1>
</Children>
<ColumnWidths/>
<RowHeights>20,20,20</RowHeights>
</Item0>
<Item1>
然后复制内容到剪贴板
代码:
<ColumnWidths>80,80,80,80,80,80</ColumnWidths>
<RowHeights>20,20,20</RowHeights>
</Item1>
修改成复制内容到剪贴板
代码:
<ColumnWidths>80,80,80,80,80,80</ColumnWidths>
<RowHeights>20,20,20</RowHeights>
</Item0>
然后测试就可以.
作者: xuxudodo 时间: 2010-4-12 14:56
我用其它进行测试了一下,如果按照上述进行修改的话,数据预览就正常了.
这样的话,SQL SERVER2005/2008, postgresql 8.3做数据报表也都OK了...
然后,应该如何调整呢?
[ 本帖最后由 xuxudodo 于 2010-4-12 15:01 编辑 ]
作者: three 时间: 2010-4-12 14:59
麻烦问下你用的设计器是从那下的。。。
什么时候下的。
是直接从eclipse中启动的设计器还是从 designer 目录中运行的?
作者: xuxudodo 时间: 2010-4-12 15:04
1. google SVN 更新下来的,eclipse中启动的设计器
2. jatools.com 上下载的 jor.bin.zip
两种方式都测试过.
作者: three 时间: 2010-4-12 15:05
你留下QQ我远程帮你看下。
作者: xuxudodo 时间: 2010-4-12 15:55
版主很好,远程协助通过调试发现并解决了问题.简单小结如下,供各位参看:
(一)
问题: SQL SERVER2005 数据报表测试时,添加数据集时预览OK,视图ROW调用后预览出现异常
分析: 我新建数据集时,只做了选用数据集这一步,然后直接点击完成. 然后在模型定义界面ROW拖出预览就不行.
解决: 新建数据集时,新建后,在选用数据集,需要按照向导 进入"显示项"操作,然后点击完成.
这样再预览,则一切OK. ^_)
建议:
1. 新建数据集,目前还是要按照向导进行,手工有时会有问题
2. 同时JOR这方面我觉得可以做个优化
(二)
问题: 使用postgresql-8.4-701.jdbc4.jar 对postgresql测试时,,添加数据集时预览OK,在显示项没有字段列出,而且视图ROW调用后预览出现异常
分析: 我新建数据集时,编辑的SQL最后 加了个 ";" 当时预览时数据正常,eclipse调试 报异常
解决: 去掉";" ,则一切OK. ^_)
建议:
1. 新建数据集,目前还是按照SQL要求严格,不要乱写
2. 同时JOR这方面我觉得可以做个控制.
问题解决,心情舒畅. 软件很好,上手比较快. 感谢版主的细心解答.
作者: three 时间: 2010-4-12 16:36
(一)分析: 我新建数据集时,只做了选用数据集这一步,然后直接点击完成. 然后在模型定义界面ROW拖出预览就不行.
这个地方是我们疏忽了。
问题已修正
(二)很好的建议,我们会考虑这个问题。
如果单纯只是需要表格报表或是交叉报表的话就可以直接用向导生成。。。但是需要做一些更复杂的报表的时候还是要从空白报表上创建。 利用空白报表创建。只要SQL遵从语法规则的话。是不会有问题的。
谢谢xuxudodo的建议。
作者: lmf2010 时间: 2010-6-21 12:07
我有问题帮帮我吧
作者: admin 时间: 2013-5-21 17:32
看不出问题来,错误堆栈详细点,贴上来!
欢迎光临 杰表技术论坛 (http://bbs.jatools.com/) |
Powered by Discuz! 6.1.0 |