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

QQ登录

只需一步,快速开始

查看: 6280|回复: 10

[结贴] 点击完查询按钮为什么页面不刷新新数据呢 后台运行是对...

[复制链接]

6

主题

17

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
发表于 2014-7-4 14:12:42 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
亲们!点击完查询按钮为什么页面不刷新新数据呢 后台运行是对的 但是页面没反应呢?
是不是缺少了必要的操作或代码来跳转刷新?
跪求指教!!!
JS如下:
mainActivity.trigger1Click = function(event){
var searchInputData = justep.xbl("searchInput");//获取页面先添加临时的cdata,必须改为auto-new 为true!!!
var dateInputValue = searchInputData.getValue("dateInput");//获取页面的input的值
var params = new justep.Request.ActionParam();
params.setString("dateInputValue", dateInputValue);//把值给了ajax,字段必须和java的参数一致
var r = justep.Request.sendBizRequest(
   justep.Context.getCurrentProcess(),
   justep.Context.getCurrentActivity(),
   "searchByDate", //action里面的方法名
   params          //传值参数
  );
var temp = justep.Request.transformList(
   justep.Request.getData(r.responseXML));
};
JAVA如下:
public static Table searchByDate(String dateInputValue){
  //报表查询功能
  System.out.println("yzk---------dateInputValue:"+dateInputValue);
  String mysql = "SELECT F_IMPORT.FFLOWERSNAME AS FNAME,F_IMPORT.FPURCHASEDATE AS FPURCHASEDATE,F_SALE.FSELLDATE AS FSELLDATE,F_IMPORT.FINSURANCEDATE AS FINSURANCEDATE,CASE WHEN (CURDATE()-F_IMPORT.FINSURANCEDATE<0) THEN '未过期' ELSE '已过期' END AS ISOUTDATE,CASE WHEN (datediff(CURDATE(),F_IMPORT.FINSURANCEDATE)<0) THEN abs(datediff(CURDATE(),F_IMPORT.FINSURANCEDATE)) ELSE CONCAT('-',datediff(CURDATE(),F_IMPORT.FINSURANCEDATE)) END AS LASTDAY,(F_IMPORT.FCOUNT-(SELECT SUM(F_SALE.FSELLCOUNT) FROM F_SALE WHERE F_SALE.FFLOWERSNAME = FNAME)) AS LASTCOUNT,F_IMPORT.FPURCHASEPRICE AS FPURCHASEPRICE,F_SALE.FSELLPRICE AS FSELLPRICE,(F_SALE.FSELLPRICE-F_IMPORT.FPURCHASEPRICE) AS PRICELIRUN FROM F_IMPORT ,F_SALE WHERE F_IMPORT.FFLOWERSNAME = F_SALE.FFLOWERSNAME AND date_format(F_SALE.FSELLDATE,'%Y-%m')  = date_format('"+dateInputValue+"','%Y-%m') ORDER BY FNAME";
  System.out.println(mysql);
  
  HashMap<String,String> sqlMap = new HashMap<String,String>();
  
  //不同的数据库选择不同的数据库驱动,这里用的是mysql
  sqlMap.put(DatabaseProduct.MYSQL.name(), mysql);
  return SQL.select(sqlMap,null,"/FlowerSystem/FlowerMoudle/data");
}

78

主题

175

帖子

629

积分

高级会员

Rank: 4

积分
629
QQ
发表于 2014-7-4 14:43:08 | 显示全部楼层
刷新的数据源是B DATA 吗
新手寻求帮助,
回复 支持 反对

使用道具 举报

6

主题

17

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
 楼主| 发表于 2014-7-4 14:44:52 | 显示全部楼层
华华华 发表于 2014-7-4 14:43
刷新的数据源是B DATA 吗

是reportData 是报表的数据  求指教 我在报表模版基础上添加的 查询功能
回复 支持 反对

使用道具 举报

78

主题

175

帖子

629

积分

高级会员

Rank: 4

积分
629
QQ
发表于 2014-7-4 14:51:34 | 显示全部楼层
在过滤之后加上  justep.xbl('grid').refresh(); 报表组件刷新          grid是report组件的id   
新手寻求帮助,
回复 支持 反对

使用道具 举报

6

主题

17

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
 楼主| 发表于 2014-7-4 15:15:14 | 显示全部楼层
华华华 发表于 2014-7-4 14:51
在过滤之后加上  justep.xbl('grid').refresh(); 报表组件刷新          grid是report组件的id    ...

报错说:
undefined is not a function
TypeError: undefined is not a function
at Object.mainActivity.trigger1Click 。。。。。
回复 支持 反对

使用道具 举报

6

主题

17

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
 楼主| 发表于 2014-7-4 15:31:13 | 显示全部楼层
华华华 发表于 2014-7-4 14:51
在过滤之后加上  justep.xbl('grid').refresh(); 报表组件刷新          grid是report组件的id    ...

这句话应该写在哪里呢?我写function里面会报错,写外面不起作用,
回复 支持 反对

使用道具 举报

78

主题

175

帖子

629

积分

高级会员

Rank: 4

积分
629
QQ
发表于 2014-7-4 15:33:08 | 显示全部楼层
于振聩 发表于 2014-7-4 15:31
这句话应该写在哪里呢?我写function里面会报错,写外面不起作用,

mainActivity.trigger1Click = function(event){




************写在这个函数最后
}
新手寻求帮助,
回复 支持 反对

使用道具 举报

6

主题

17

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
 楼主| 发表于 2014-7-4 15:48:19 | 显示全部楼层
华华华 发表于 2014-7-4 15:33
mainActivity.trigger1Click = function(event){

mainActivity.trigger1Click = function(event){
        var searchInputData = justep.xbl("searchInput");//获取页面先添加临时的cdata,必须改为auto-new 为true!!!
        var dateInputValue = searchInputData.getValue("dateInput");//获取页面的input的值
        //alert(dateInputValue);
        var params = new justep.Request.ActionParam();
        params.setString("dateInputValue", dateInputValue);//把值给了ajax,字段必须和java的参数一致
        var r = justep.Request.sendBizRequest(
                        justep.Context.getCurrentProcess(),
                        justep.Context.getCurrentActivity(),
                        "searchByDate", //action里面的方法名
                        params          //传值参数
                );

                       
        justep.xbl('ds1').refresh();
};
确实这么写就是报错,说TypeError: undefined is not a function
这个刷新方法点不出来 是手动写的,难道不支持这个方法 还是要引入什么? 谢谢
回复 支持 反对

使用道具 举报

6

主题

17

帖子

41

积分

新手上路

Rank: 1

积分
41
QQ
 楼主| 发表于 2014-7-4 16:00:34 | 显示全部楼层
华华华 发表于 2014-7-4 15:33
mainActivity.trigger1Click = function(event){

justep.xbl('ds1').不会出来refresh方法,,,
回复 支持 反对

使用道具 举报

78

主题

175

帖子

629

积分

高级会员

Rank: 4

积分
629
QQ
发表于 2014-7-4 16:27:21 | 显示全部楼层
于振聩 发表于 2014-7-4 16:00
justep.xbl('ds1').不会出来refresh方法,,,

加在这后边public static Table searchByDate(String dateInputValue)
新手寻求帮助,
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 04:40 , Processed in 0.069098 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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