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

QQ登录

只需一步,快速开始

查看: 3465|回复: 6

[结贴] 依日期查询报表,字段类型如何设置?

[复制链接]

17

主题

77

帖子

160

积分

初级会员

Rank: 2

积分
160
QQ
发表于 2015-3-23 17:46:14 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
1.action设置a,b两个参数,用于查询
2.设置data1,两个日期型字段,赋予input1、input2
3.trigger代码如下:
mainActivity.trigger1Click = function(event){
//静态data
        var data1 = justep.xbl('data1');
//reportData
        var reportDate = justep.xbl('ds1');
//得到开始时间
        if(data1.getValue('d1').trim() != ''){
                var d1 = data1.getValue('d1');
                d1 = d1.substr(0, 22);
                d1 = d1.replace("T", " ");
                reportDate.setStringVar('a', d1);  
        }
//得到结束时间
        if(data1.getValue('d2').trim() != ''){
                var d2 = data1.getValue('d2');
                d2 = d2.substr(0, 22);
                d2 = d2.replace("T", " ");
                reportDate.setStringVar('b', d2);

        }
//刷新报表
        justep.xbl('gridReport').refresh();       
};



4.运行报表 提示错误:动作"/CZ/CZ/process/REPORT/reportaction@Action"的参数"a"的数据类型"String"与定义的类型"Date"不匹配




请问是需要修改trigger代码如何修改?

5.png
6.png
7.png
发表于 2015-3-23 18:00:13 | 显示全部楼层
getValue获取到的值都是string类型的,可以将该a和b的action里面的参数设置为string,然后在后台处理成date。也可以用reportDate.setDate()方法,这样就需要将d1和d2设置为date型的

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

17

主题

77

帖子

160

积分

初级会员

Rank: 2

积分
160
QQ
 楼主| 发表于 2015-3-24 10:03:42 | 显示全部楼层
lanware_smf 发表于 2015-3-23 18:00
getValue获取到的值都是string类型的,可以将该a和b的action里面的参数设置为string,然后在后台处理成date ...

改成setDate还是不行,请教,这段代码改如何写?

mainActivity.trigger1Click = function(event){
//静态data
        var data1 = justep.xbl('data1');
//reportData
        var reportDate = justep.xbl('ds1');
//得到开始时间
        if(data1.getValue('d1').trim() != ''){
                var d1 = data1.getValue('d1');
                d1 = d1.substr(0, 22);
                d1 = d1.replace("T", " ");
                reportDate.setDate('a', d1);  
        }
//得到结束时间
        if(data1.getValue('d2').trim() != ''){
                var d2 = data1.getValue('d2');
                d2 = d2.substr(0, 22);
                d2 = d2.replace("T", " ");
                reportDate.setDate('b', d2);
               
        }
//刷新报表
        justep.xbl('gridReport').refresh();       
};
回复 支持 反对

使用道具 举报

发表于 2015-3-24 10:21:25 | 显示全部楼层
pefi 发表于 2015-3-24 10:03
改成setDate还是不行,请教,这段代码改如何写?

mainActivity.trigger1Click = function(event){

你这边的ds1是数据源还是报表id啊,应该是report的id才对
回复 支持 反对

使用道具 举报

17

主题

77

帖子

160

积分

初级会员

Rank: 2

积分
160
QQ
 楼主| 发表于 2015-3-24 10:31:49 | 显示全部楼层
lanware_smf 发表于 2015-3-24 10:21
你这边的ds1是数据源还是报表id啊,应该是report的id才对

ds1就是report的数据源,不懂怎搞,我是设置了data1 里边有字段d1,d2,类型为日期型,现在是想获取d1、d2的值,传给report ,report的action也设置了a、b两个参数,也是日期型,请问如何实现?论坛上找到的这串代码,不知道哪里有问题
回复 支持 反对

使用道具 举报

发表于 2015-3-24 10:34:57 | 显示全部楼层
pefi 发表于 2015-3-24 10:31
ds1就是report的数据源,不懂怎搞,我是设置了data1 里边有字段d1,d2,类型为日期型,现在是想获取d1、d ...

那就还是setString那种方法吧,a和b参数也弄成string吧,到后台的时候把string类型的值转换成date型的处理。
回复 支持 反对

使用道具 举报

17

主题

77

帖子

160

积分

初级会员

Rank: 2

积分
160
QQ
 楼主| 发表于 2015-3-24 10:44:04 | 显示全部楼层
lanware_smf 发表于 2015-3-24 10:34
那就还是setString那种方法吧,a和b参数也弄成string吧,到后台的时候把string类型的值转换成date型的处 ...

我搞错了,我选数据源的时候设置了action,改成ksqlaction,action那里也不用设置a,b参数,我把两个帖子综合了,现在可以了,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-4 01:25 , Processed in 0.057808 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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