Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30462898
  • 博文数量: 708
  • 博客积分: 12163
  • 博客等级: 上将
  • 技术积分: 8240
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-04 20:59
文章分类

全部博文(708)

分类: Java

2009-12-03 15:50:57

 对于Ext中的store,我的最常用方法是用store,CloumnModel,gridPanel结合起来 一起使用,把数据库的数据展示在gridPanel中,这就必须调用store.load了;问题也随之而来了,如果是后台属于正常调用,而且有数据的时候就很好做了,但是如果是出现了异常,或者没有数据,那就必须向前台写会相应的信息,在前台中显示;为了这个问题搞了很久,终于解决;解决的方法就是把想方设法获得后台返回的数据(全部 而不是只是store的那一部分) 只要在页面中写入

store:store.reader.jsonData.message 就 可以了

eg:

    business_store.load({
                   
                    ,
                    method:'post',
                    params:{
                            start:0,
                            limit:20,
                            userMobileNo:business_From.findById('s_userMobileNo').getValue(),
                            spOrderNo:business_From.findById('s_spOrderNo').getValue(),
                            startDate:business_From.findById('s_startDate').getValue()!=''?new Date(business_From.findById('s_startDate').getValue()).format('yyyy-MM-dd'):null,
                            endDate:business_From.findById('s_endDate').getValue()!=''?new Date(business_From.findById('s_endDate').getValue()).format('yyyy-MM-dd'):null,
                            attributive:business_From.findById('s_attributive').getValue(),
                            spId:business_From.findById('s_spId').getValue(),
                            tradeType:business_From.findById('s_tradeType').getValue(),
                            network:business_From.findById('s_network').getValue(),
                            tradeState:business_From.findById('s_tradeState').getValue(),
                            tradeSeqno:business_From.findById('s_tradeSeqno').getValue(),
                            serviceId:business_From.findById('s_serviceId').getValue()
                        },
                       
                            
                        
                    callback:function(r,options,success){
                   
                      if(success==false){
                               //alert("调用失败了");   
                                alert(business_store.reader.jsonData.message);
                                Ext.MessageBox.hide();                 
                       }else{
                            //alert("调用趁工哦-----"+r.length);
                            if(r.length==0){
                               alert("没找到相关数据");
                            }else{
                                closeWindow();
                            }
                            Ext.MessageBox.hide();
                          
                     
                     
                      }
                    }
                   
                   
                   
                   
                   
                   
                   
                   
                    });
                    其中后台的数据形如:

       String json="{success:true,message:'用数据了',list:[{id:1,name:101},{id:2,name:200}]}"

另:如果是用用store.load({

  params:{

  p1:'fff'

}的形式 则参数的状态只能保存一下 也就是下一次请求的时候丢失了

如果要保存参数的状态则要用在load之前调用

order_ComSearch_store.baseParams={
                   
                    title:order_ComSearch_From.findById('s_orderTitle').getValue()
             
                   
                    }

})

阅读(3048) | 评论(0) | 转发(0) |
0

上一篇:著名论坛大收集

下一篇:SSH面试题(1)

给主人留下些什么吧!~~