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

QQ登录

只需一步,快速开始

查看: 4590|回复: 8

[结贴] 报表用自定义的Action 参数怎么赋值

[复制链接]

58

主题

238

帖子

503

积分

高级会员

Rank: 4

积分
503
QQ
发表于 2014-7-30 10:50:17 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
== 需求:用存储过程实现数据的获取,利用报表显示。
这里对于这个reportData的自定义action 该如何附这两个参数到后台中去,现在去后台但是参数为null
var params = new justep.Request.ActionParam();
params.setString("sql", "{call RM_HTYYReportData(?)}");
var map = new justep.Request.MapParam();
var deptCode = justep.Context.getCurrentDeptCode();
map.put("DeptCode", new justep.Request.SimpleParam(deptCode,justep.XML.Namespaces.XMLSCHEMA_STRING));
params.setMap("params", map);

justep.xbl("reportData").

justep.xbl("groupReport").refresh();
Noname1.jpg
发表于 2014-7-30 10:57:03 | 显示全部楼层
http://bbs.justep.com/thread-48603-1-1.html参考这个帖子,说的很清楚
回复 支持 反对

使用道具 举报

45

主题

4492

帖子

3960

积分

论坛元老

Rank: 8Rank: 8

积分
3960
QQ
发表于 2014-7-30 10:57:42 | 显示全部楼层
用action参考

public static Table parameterFilterQuery(String name, String id){
               
                String oracle = "SELECT RPRODUCTID , RPRODUCTNAME , (SELECT RCATEGORYNAME FROM DEMO_REPORTPRODUCTCATEGORY WHERE DEMO_REPORTPRODUCTCATEGORY.RCATEGORYID = DEMO_REPORTPRODUCTS.RCATEGORYID) AS RCATEGORYNAME , (SELECT RCOMPANYNAME FROM DEMO_REPORTSUPPLIERS WHERE DEMO_REPORTSUPPLIERS.RSUPPLIERID = DEMO_REPORTPRODUCTS.RSUPPLIERID)AS RCOMPANYNAME,RQUANTITYPERUNIT,RUNITPRICE,RUNITSINSTOCK FROM DEMO_REPORTPRODUCTS";
                String mssql = "SELECT RPRODUCTID , RPRODUCTNAME , (SELECT RCATEGORYNAME FROM DEMO_REPORTPRODUCTCATEGORY WHERE DEMO_REPORTPRODUCTCATEGORY.RCATEGORYID = DEMO_REPORTPRODUCTS.RCATEGORYID) AS RCATEGORYNAME , (SELECT RCOMPANYNAME FROM DEMO_REPORTSUPPLIERS WHERE DEMO_REPORTSUPPLIERS.RSUPPLIERID = DEMO_REPORTPRODUCTS.RSUPPLIERID)AS RCOMPANYNAME,RQUANTITYPERUNIT,RUNITPRICE,RUNITSINSTOCK FROM DEMO_REPORTPRODUCTS";
               
                oracle += " WHERE 1=1 ";
                mssql += " WHERE 1=1 ";
               
                if(!"".equals(name)){
                        oracle += "and RPRODUCTNAME like '%"+name+"%' ";
                        mssql += "and RPRODUCTNAME like '%"+name+"%' ";
                }
                if(!"".equals(id)){
                        oracle += String.format("and RPRODUCTID = '%s' ", id);
                        mssql += String.format("and RPRODUCTID = '%s' ", id);
                }
               
                HashMap<String,String> sqlMap = new HashMap<String,String>();
                sqlMap.put(SQL.DEFAULT_DB_NAME,mssql);
                sqlMap.put(DatabaseProduct.ORACLE.name(),oracle);
                sqlMap.put(DatabaseProduct.MSSQL.name(),mssql);
                sqlMap.put(DatabaseProduct.KINGBASE.name(),oracle);
                sqlMap.put(DatabaseProduct.SYBASE.name(),mssql);
                sqlMap.put(DatabaseProduct.DB2.name(),oracle);
                return SQL.select(sqlMap,null,"/demo/report/data");
        }

例子中的是sql自己可以用ksql实现,不同的条件拼接不同的where条件

以上内容出自管理员   jishuang
向前进,向前进,我们……
回复 支持 反对

使用道具 举报

58

主题

238

帖子

503

积分

高级会员

Rank: 4

积分
503
QQ
 楼主| 发表于 2014-7-30 11:07:14 | 显示全部楼层
忘了忘了 发表于 2014-7-30 10:57
http://bbs.justep.com/thread-48603-1-1.html参考这个帖子,说的很清楚

前台我要对Map这个参数赋值该如何了。没有setMap的
回复 支持 反对

使用道具 举报

58

主题

238

帖子

503

积分

高级会员

Rank: 4

积分
503
QQ
 楼主| 发表于 2014-7-30 11:09:24 | 显示全部楼层
fpj 发表于 2014-7-30 10:57
用action参考

public static Table parameterFilterQuery(String name, String id){

我要用到map这个参数,该如何赋值。主要是定义一个公用的action,存储过程名称,存储过程参数,不要每个报表都写个action和参数
回复 支持 反对

使用道具 举报

45

主题

4492

帖子

3960

积分

论坛元老

Rank: 8Rank: 8

积分
3960
QQ
发表于 2014-7-30 11:16:45 | 显示全部楼层
liuaqiuping 发表于 2014-7-30 11:09
我要用到map这个参数,该如何赋值。主要是定义一个公用的action,存储过程名称,存储过程参数,不要每个报 ...

参考下面这个帖子 2楼   给Action传参
http://bbs.justep.com/thread-33841-1-1.html
向前进,向前进,我们……
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-7-30 11:17:11 | 显示全部楼层
QQ:179785966
回复 支持 反对

使用道具 举报

58

主题

238

帖子

503

积分

高级会员

Rank: 4

积分
503
QQ
 楼主| 发表于 2014-7-30 11:27:52 | 显示全部楼层
fpj 发表于 2014-7-30 11:16
参考下面这个帖子 2楼   给Action传参
http://bbs.justep.com/thread-33841-1-1.html


但是这个reportData数据源没有setMap这个方法了。是在这个reportData的数据源上赋值参数吧
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2014-7-30 11:54:11 | 显示全部楼层
1.调用action直接在action对应的java中去调用不要在js中去赋值

2.调用存储过程返回table,report直接显示table中的数据

3.如果要传参,传的是存储过程中需要的参数应该是String等简单的参数类型


远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 09:42 , Processed in 0.120815 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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