发新话题
打印

[问题已解决]报表预览错误could not load value for ..Table.ColumnWidths

[问题已解决]报表预览错误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 编辑 ]

TOP

麻烦你把模板用附件发上来。。.
你也可以试下附件中的模板是否可以预览


[ 本帖最后由 three 于 2010-4-12 11:19 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

测试数据源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拖进后 就没有显示
附件: 您所在的用户组无法下载或查看附件

TOP

你现在试下这个模板是否可以



如果模板还是有问题的话。。。
那你就把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 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

使用你提供的调整的master.xml后,
添加数据集时预览OK,
视图ROW调用后预览OK,
WEB报表调用预览OK!

但是通过软件添加生成的,还是有点问题,好像与SQL语句没有关系
对比结果如下
附件: 您所在的用户组无法下载或查看附件

TOP

我去掉原来有问题文件中的.
复制内容到剪贴板
代码:
                        <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>
然后测试就可以.

TOP

我用其它进行测试了一下,如果按照上述进行修改的话,数据预览就正常了.

这样的话,SQL SERVER2005/2008, postgresql 8.3做数据报表也都OK了...

然后,应该如何调整呢?

[ 本帖最后由 xuxudodo 于 2010-4-12 15:01 编辑 ]

TOP

麻烦问下你用的设计器是从那下的。。。
什么时候下的。
是直接从eclipse中启动的设计器还是从 designer 目录中运行的?

TOP

1. google SVN 更新下来的,eclipse中启动的设计器
2. jatools.com 上下载的 jor.bin.zip

两种方式都测试过.

TOP

你留下QQ我远程帮你看下。

TOP

版主很好,远程协助通过调试发现并解决了问题.简单小结如下,供各位参看:

(一)
问题: 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这方面我觉得可以做个控制.



问题解决,心情舒畅.  软件很好,上手比较快. 感谢版主的细心解答.

TOP

(一)分析: 我新建数据集时,只做了选用数据集这一步,然后直接点击完成. 然后在模型定义界面ROW拖出预览就不行.
这个地方是我们疏忽了。

问题已修正

(二)很好的建议,我们会考虑这个问题。

如果单纯只是需要表格报表或是交叉报表的话就可以直接用向导生成。。。但是需要做一些更复杂的报表的时候还是要从空白报表上创建。  利用空白报表创建。只要SQL遵从语法规则的话。是不会有问题的。

谢谢xuxudodo的建议。

TOP

我有问题帮帮我吧

TOP

看不出问题来,错误堆栈详细点,贴上来!

TOP

发新话题