发新话题
打印

[结贴]奇怪的超链接子表

[结贴]奇怪的超链接子表

1。在子表中的sql语句为啥要这样写才好使
select * from 明细表 where 1=1   and region_id=${$region_id}
and busi_type='${busi_type}'
其中region_id为number型,busi_type为char型。
如果写成${$busi_type}则取不到值,外面加''也如此。
如果写成${region_id}则取不到值。。。
浏览器可见到请求超链为http://localhost:7021/web/reportviewer?file=E:/reports/ods_link.xml&$region_id=4601&busi_type=LT&as=dhtml

2。chm手册上说超链接可以写成js格式,如:
javascript:void(window.open("jatoolsreport?file=d:/sample/enhance/订单明细.xml&as=dhtml
&myid=${$.订单ID}",null,"left=300,width=520,height=460,resizable=yes"))
但是在设计器里按此写法填入

javascript:void(window.open("reportviewer?file=E:/reports/ods_link.xml&$region_id=${$REGION_ID}&busi_type=${$STS_ID}&as=dhtml",null,"left=300,width=520,height=460,resizable=yes"))

后,主表生成的报表页面会有js错误,查看页面源文件知生成结果为:
<a href='javascript:' onclick='void(window.open(%22reportviewer?file=E:/reports/ods_link.xml&$region_id=4618&busi_type=IT&as=dhtml%22,null,%22left=300,width=520,height=460,resizable=yes%22))'>1</a>

此种写法下对应的模板文件内容为:
<Hyperlink><Url>javascript:void(window.open("reportviewer?file=E:/reports/ods_link.xml&$region_id=${$REGION_ID}&busi_type=${$STS_ID}&as=dhtml",null,"left=300,width=520,height=460,resizable=yes"))</Url><Target>_blank</Target></Hyperlink>

请问应该如何写js调用?还是说第一个:需要转义?

[ 本帖最后由 haifengqiu 于 2011-2-24 13:14 编辑 ]

TOP

另:斑马线、表头排序、锁定表头是否只有杰表支持?简表不支持?

TOP

请斑竹解答这两个问题,谢谢。

TOP

回答第一个问题:

1。在子表中的sql语句为啥要这样写才好使....
http://localhost:7021/web/reportviewer?file=E:/reports/ods_link.xml&$region_id=4601&busi_type=LT&as=dhtml

从你给定的url上看,参数名是 $region_id 和 busy_type,  注意,符号 $
在你的sql 中,应该这样写
select * from 明细表 where 1=1  and region_id=${$region_id} and busi_type='${busi_type}'

建议url上的参数,都不要加 $ ,这样,sql引用时,也不要在参数名前加 $,太多的$会搞糊涂。
有一个技巧,可以判断web上是否传过来正确的参数,即在报表模板里,加一个 text组件,然后,写上公式:
=参数1   这样,你可以很直观地判断,是否是正确的参数

TOP

回答第二个问题:
以前版本,对于javascript超链接,自动进行转义,按你现在的情况,实际上多此一举了。

现在刚改了代码,对javascript不进行转义,请从googlecode上下载最新代码:

svn checkout http://nexreport.googlecode.com/svn/jor
或用附件替换源码中的同名文件.
附件: 您所在的用户组无法下载或查看附件

TOP

简表是支持斑马线的,
表头排序、锁定表头是只有杰表支持,简表不支持!

TOP

非常感谢。
1。确实是我粗心了,贴出URL都没看见多一个$。
2。下载覆盖后,确认好使。

结贴。

TOP

发新话题