起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16385|回复: 32

[结贴] 报表获取参数

  [复制链接]

73

主题

247

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
发表于 2014-10-28 14:15:16 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
在做一个报表,需要在弹出报表的时候传递一个参数。
var listData = justep.xbl("listData");
    var CBFBM = listData.getValue("CBFBM");
    alert(CBFBM);
        justep.xbl("windowDialog2").open(CBFBM);

可是怎么在报表的action里来获取这个参数呢?
急急急
发表于 2014-10-28 14:31:15 | 显示全部楼层
使用 windowDialog 组件的 onReceive 事件接收弹出窗口返回的参数。事件的参数 envet.data
里面就是弹出窗口中返回的数据。
function windowDialog1Receive(event){
alert(event.data);
}

请参见《X5快速开发指南》5.2.5对话框类组件一节。
回复 支持 反对

使用道具 举报

73

主题

247

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
 楼主| 发表于 2014-10-28 14:35:42 | 显示全部楼层
暗夜的忧伤 发表于 2014-10-28 14:31
使用 windowDialog 组件的 onReceive 事件接收弹出窗口返回的参数。事件的参数 envet.data
里面就是弹出窗 ...

不是这个 ,我说的是我现在将参数从主页面传到了报表页面,但是报表页面是自动调用ACTION的,我怎么才能把这个参数传进报表使用的action中呢?
回复 支持 反对

使用道具 举报

发表于 2014-10-28 14:37:14 | 显示全部楼层
ltt 发表于 2014-10-28 14:35
不是这个 ,我说的是我现在将参数从主页面传到了报表页面,但是报表页面是自动调用ACTION的,我怎么才能 ...

获取到以后使用action的传参方法啊
回复 支持 反对

使用道具 举报

发表于 2014-10-28 14:38:29 | 显示全部楼层
http://bbs.justep.com/forum.php? ... 9855&highlight=交互 看一下这个帖子,可以在windowDialog里面定义一个全局变量。。在windowreceive事件里面接收
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-10-28 15:14:26 | 显示全部楼层
ltt 发表于 2014-10-28 14:35
不是这个 ,我说的是我现在将参数从主页面传到了报表页面,但是报表页面是自动调用ACTION的,我怎么才能 ...

1.先在报表.w中获取到这参数
2.报表的action上应该有参数吧,可以通过reportData的API给参数赋值 reportData.jpg

3.report组件调用刷新(report组件的auto-load设置为false)
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

73

主题

247

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
 楼主| 发表于 2014-10-28 16:06:04 | 显示全部楼层
jishuang 发表于 2014-10-28 15:14
1.先在报表.w中获取到这参数
2.报表的action上应该有参数吧,可以通过reportData的API给参数赋值

报表的action没有参数,我自己加了一个,我可以在报表的.W文件中接收到传来的参数,可是怎么把这个参数传到报表自己调用的action中呢?
回复 支持 反对

使用道具 举报

73

主题

247

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
 楼主| 发表于 2014-10-28 16:21:37 | 显示全部楼层
暗夜的忧伤 发表于 2014-10-28 14:37
获取到以后使用action的传参方法啊

主页面:
mainActivity.trigger8Click = function(event){
    var listData = justep.xbl("listData");
    var CBFBM = listData.getValue("CBFBM");
    alert(CBFBM);
        justep.xbl("windowDialog2").open(CBFBM);
};
报表页面:
cbfxx.windowReceiver1Receive = function(event){
        var CBFBM = event.data;
        alert(CBFBM);
         justep.Request.sendBizRequest2({
    dataType: "json",
    action: "querycbfAction",
    parameters : CBFBM,
    callback: function(result) {
        if (result.state) {
            alert("调用成功!");
        } else {
            throw new Error("调用失败!|" + result.response.message);
        }
    }
});
};
action方法:
public static Table querycbf(String param){

                String mssql = "SELECT CBFBM,CBFMC,CBFZJHM FROM CBF WHERE CBFBM = '"+param+"'";
               
                HashMap<String,String> sqlMap = new HashMap<String,String>();
                sqlMap.put(DatabaseProduct.MSSQL.name(),mssql);
                return SQL.select(sqlMap,null,"/LandManagerSys/LandInfoMgr/data");
        }
报错:
<action direct-execute="false" process="/LandManagerSys/LandInfoMgr/process/CBF/cBFProcess" activity="mainActivity" action-flag="__action_0__" executor="PSN01" execute-context="" name="querycbfAction"><parameters xmlns:xbiz="http://www.justep.com/xbiz#"><parameter name="param"><xbiz:simple type="http://www.w3.org/2001/XMLSchema#String"><![CDATA[210781101200010001]]></xbiz:simple></parameter></parameters></action>
com.justep.exception.BusinessException: 编码: JUSTEP150084; 提示: "/LandManagerSys/LandInfoMgr/process/CBF/querycbfAction"没有定义参数"param"
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.util.Utils.check(Unknown Source)
        at com.justep.system.transform.RequestTransform.transActionParams(Unknown Source)
        at com.justep.system.transform.RequestTransform.transform(Unknown Source)
        at com.justep.system.action.Engine.translateParameters(Unknown Source)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:595)
回复 支持 反对

使用道具 举报

73

主题

247

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
 楼主| 发表于 2014-10-28 16:24:24 | 显示全部楼层
暗夜的忧伤 发表于 2014-10-28 14:37
获取到以后使用action的传参方法啊

这个才是最新的  但是不对哦  请帮我看一下  谢谢
主页面:
mainActivity.trigger8Click = function(event){
    var listData = justep.xbl("listData");
    var CBFBM = listData.getValue("CBFBM");
    alert(CBFBM);
        justep.xbl("windowDialog2").open(CBFBM);
};
报表页面:
cbfxx.windowReceiver1Receive = function(event){
        var CBFBM = event.data;
        alert(CBFBM);
        var actionParam = new justep.Request.ActionParam();
                actionParam.setString("param", CBFBM);
                justep.Request.sendBizRequest2({
                        dataType : "application/json",
                        action : "querycbfAction",
                        parameters : actionParam,
                         callback: function(result) {
        if (result.state) {
            alert("调用成功!");
        } else {
            throw new Error("调用失败!|" + result.response.message);
        }
        }
                       
        });
};
action方法:
public static Table querycbf(String param){

                String mssql = "SELECT CBFBM,CBFMC,CBFZJHM FROM CBF WHERE CBFBM = '"+param+"'";
               
                HashMap<String,String> sqlMap = new HashMap<String,String>();
                sqlMap.put(DatabaseProduct.MSSQL.name(),mssql);
                return SQL.select(sqlMap,null,"/LandManagerSys/LandInfoMgr/data");
        }
报错:
<action direct-execute="false" process="/LandManagerSys/LandInfoMgr/process/CBF/cBFProcess" activity="mainActivity" action-flag="__action_0__" executor="PSN01" execute-context="" name="querycbfAction"><parameters xmlns:xbiz="http://www.justep.com/xbiz#"><parameter name="param"><xbiz:simple type="http://www.w3.org/2001/XMLSchema#String"><![CDATA[210781101200010001]]></xbiz:simple></parameter></parameters></action>
com.justep.exception.BusinessException: 编码: JUSTEP150084; 提示: "/LandManagerSys/LandInfoMgr/process/CBF/querycbfAction"没有定义参数"param"
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.util.Utils.check(Unknown Source)
        at com.justep.system.transform.RequestTransform.transActionParams(Unknown Source)
        at com.justep.system.transform.RequestTransform.transform(Unknown Source)
        at com.justep.system.action.Engine.translateParameters(Unknown Source)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:595)
回复 支持 反对

使用道具 举报

73

主题

247

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
 楼主| 发表于 2014-10-28 16:24:49 | 显示全部楼层
jishuang 发表于 2014-10-28 15:14
1.先在报表.w中获取到这参数
2.报表的action上应该有参数吧,可以通过reportData的API给参数赋值

我这么做的  请帮我看看 哪里不对啊
主页面:
mainActivity.trigger8Click = function(event){
    var listData = justep.xbl("listData");
    var CBFBM = listData.getValue("CBFBM");
    alert(CBFBM);
        justep.xbl("windowDialog2").open(CBFBM);
};
报表页面:
cbfxx.windowReceiver1Receive = function(event){
        var CBFBM = event.data;
        alert(CBFBM);
        var actionParam = new justep.Request.ActionParam();
                actionParam.setString("param", CBFBM);
                justep.Request.sendBizRequest2({
                        dataType : "application/json",
                        action : "querycbfAction",
                        parameters : actionParam,
                         callback: function(result) {
        if (result.state) {
            alert("调用成功!");
        } else {
            throw new Error("调用失败!|" + result.response.message);
        }
        }
                       
        });
};
action方法:
public static Table querycbf(String param){

                String mssql = "SELECT CBFBM,CBFMC,CBFZJHM FROM CBF WHERE CBFBM = '"+param+"'";
               
                HashMap<String,String> sqlMap = new HashMap<String,String>();
                sqlMap.put(DatabaseProduct.MSSQL.name(),mssql);
                return SQL.select(sqlMap,null,"/LandManagerSys/LandInfoMgr/data");
        }
报错:
<action direct-execute="false" process="/LandManagerSys/LandInfoMgr/process/CBF/cBFProcess" activity="mainActivity" action-flag="__action_0__" executor="PSN01" execute-context="" name="querycbfAction"><parameters xmlns:xbiz="http://www.justep.com/xbiz#"><parameter name="param"><xbiz:simple type="http://www.w3.org/2001/XMLSchema#String"><![CDATA[210781101200010001]]></xbiz:simple></parameter></parameters></action>
com.justep.exception.BusinessException: 编码: JUSTEP150084; 提示: "/LandManagerSys/LandInfoMgr/process/CBF/querycbfAction"没有定义参数"param"
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.util.Utils.check(Unknown Source)
        at com.justep.system.transform.RequestTransform.transActionParams(Unknown Source)
        at com.justep.system.transform.RequestTransform.transform(Unknown Source)
        at com.justep.system.action.Engine.translateParameters(Unknown Source)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:595)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 23:34 , Processed in 0.070844 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表