请上传宽度大于 1200px,高度大于 164px 的封面图片
    调整图片尺寸与位置
    滚轮可以放大缩小图片尺寸,按住图片拖动可调整位置,多余的会自动被裁剪掉
取消
妮妮(uid:3602)
职业资格认证:尚未取得认证
我回来了
最新公司忙 别的项目,一直在外出差,都没时间研究。听说又有好多新的功能。 这更新的速度。。。不说了, 吼一声,我又回来了!
一些自己的学习经历
以下情况是我的学习FR中自己遇到的问题: 1.在制作模板时,如何将报表中的值传递到超链接网页呢? 在项目中以frame方法把F1.CPT放到项目的页面中,对F1.CPT做网络报表超链接F2.CPT,然后在F2.cpt页面中,做个超链接的网页,超链接的URL里面输入地址,并在下面输入要传递的参数名和参数值,然后在网页中通过request.getParameter("超级链接中的参数名")获取参数就可以直接使用了。 2.一个模板的2个sheet之间的取值和校验? 在某个单元格里直接输入=sheetname!cellname 来实现跨sheet取值,eg:=sheet2!A2 就是sheet2表单的A2单元格的值,校验同样原理。 3.下拉框的选值发生变化: 在下拉框里设置好数据源,显示值和实际值,但在选中某个值之后却发现选中的值变为了实际值了,在这里需要在这个单元格的样式里重新把数据源再设置一遍就可以了。 4.超链接传值,如何动态的传别的对应单元格(一一对应的单元格)的值? 在超链接中,正常传递参数eg: PKID='${PKID}',然后在右边的参数栏里添加参数PKID,其值选择公式,协商你要传递的值的 单元格 5.JS取值失败: 在用JS GetCellValue取值的时候会发现取值不对,或者为空。这有可能是因为你要取值的单元格是在某个扩展行的后面了,所以导致单元格的位置发生了变化,所以尽量要在扩展行的上面放置你JS要取的值。 6.报表的的端口: FR自身有一个端口8075,但我们在使用的过程中一般都不会用8075作为FR的端口来使用,通常和TOMCAT之类的服务结合起来使用。 7.数据混乱,不是一一对应的: 首先检查数据库看数据是不是一一对应的,如果没错,那可能是单元格的左父格设置问题,建议自己多做几张实践下就会明白左父格的含义。 8.模拟GridView的一些功能可以去看下面的连接{:soso_e113:}: http://bbs.fanruan.com/thread-14558-1-1.html 9.批量导出报表: http://localhost:8079/WebReport/ReportServer?reportlets=({reportlet:/FRTable501.cpt},{reportlet:/FRTable601.cpt})&format=excel&__filename__=name 但该功能在导出13张报表的时候就会出错。 10.点击页面弹出子页面,按钮的点击事件 FR.showIframeDialog({ url:"ReportServer?reportlet=SMES/NewAdd.cpt&op=write", title:"title", width:600, height:600 }) 或者 FR.showDialog("测试", 400, 400, " ", {collapsible:true}); 11.子页面刷新父页面 在父页面做个按钮,ID为btnRefresh 点击事件为:location.reload(); 在子页面的填报成功事件里写: var top = window.parent; var reportPane = top.contentPane; var btn = reportPane.curLGP.write.getWidgetByName("btnRefresh"); btn.fireEvent("click"); 12.另外大家在画模板的时候,特别是对一些表格的制作方面,最好是每个单元格都是合并的单元格,这样以备后来的修改方便。如果每个数据都仅占用一个单元格,后期需要发生变化 就会给修改表格的样式带来麻烦。
模拟GridView的一些删除
本帖最后由 妮妮 于 2012-8-27 11:10 编辑 4918 上图不说话。 用到的数据是FR自带的表SELECT * FROM 。 1、点击编辑 4917 之后点击保存之后刷新父页面的数据,模拟的实现了一个小功能。 编辑页面的JS: 一个普通的按钮,添加点击时间: FR.showIframeDialog({ url:"ReportServer?reportlet=SMES/NewAdd.cpt&op=write&PKID=${CopID}", //要打开的页面并传递参数 title:"title", width:600, height:600 })然后在填报成功的事件里: var top = window.parent; var reportPane = top.contentPane; var btn = reportPane.curLGP.write.getWidgetByName("btnRefresh"); btn.fireEvent("click"); 其中的btnRefresh为父页面的一个刷新按钮 location.reload();2、新增的按钮和编辑基本上一直的。 3、每行的删除按钮 一个“删除行”按钮,具体可以参考“批量删除”的帮助文档。在它的点击事件里添加: 4916 OK 全部搞定。 至于上面的删除按钮,目前还在调试。
周末这么多人
4737 平时就看不到人。。
右下角提示
右下角的提示 版主可以关掉了,都弹了这么多月了,该知道的基本上都知道了, 每个页面都弹出一次,跟病毒似的,或者你只在整个页面打开的时候在中间弹出 一次,这样既醒目又不会。。
今天论坛在线的人好多哦
今天论坛在线的人好多哦---RT{:soso_e102:}
动态SQL中如何传递参数
一个文本框A3的值是数据库tablesA中读出来的,向下扩展。eg:数据为:001,002,003等等 A4的父格为A3,A4为一个单选按钮组,向下扩展,值是查询数据库的eg:select * from tablesB where 外键id=‘A3的值’, 这个“A3的值” 应该怎么传递过去呢? 数据库中tables 表中外键id的值就是A3的值,2个表存在主子表关系的。
12345下一页
个人成就
内容被浏览12,073
加入社区11年360天
返回顶部