zoukankan      html  css  js  c++  java
  • 42.extjs Combobox动态加载数据问题,mode:local 还是remote

    问题:
    Java代码  收藏代码
    1. var fabircTypeDs = new Ext.data.Store({  
    2.         proxy: new Ext.data.HttpProxy({  
    3.             url: 'province.do'  
    4.         }),  
    5.         reader: new Ext.data.JsonReader({},['pname','pid']),  
    6.         remoteSort: false  
    7.      });  
    8.      fabircTypeDs.load();  
    9.   
    10.  formPanel = new Ext.form.FormPanel({            
    11.                 bodyStyle:'padding-top:6px;',//设置控件边类型            
    12.                 defaultType:'textfield',//FormPanel内元素默认类型             
    13.                 labelAlign:'right',//设置控件的标题对齐方式  
    14.                 labelWidth:55,// 指定标签的默认长度  
    15.                 labelPad:0,// 标签与字段录入框之间的空白  
    16.                 frame:true,//设置控件边角圆弧过度        
    17.                 defaults:{//FormPanel默认设置  
    18.                     allowBlank:true,  
    19.                     158  
    20.                 },             
    21.                 items:[  
    22.                     new Ext.form.ComboBox({  
    23.                         name:'provincename',  
    24.                         fieldLabel:'省份',  
    25.                         store:fabircTypeDs,  
    26.                         blankText:'全部',  
    27.                         emptyText:'全部',  
    28.                         mode:'remote',  
    29.                         editable:false,  
    30.                         selectOnFocus:true  
    31.                     }),  

     上面是我创建Store和ComboBox的代码,想要通过proince.do从数据库读取数据,后台采用SpringMVC等框架,现在是页面出来没问题,但是

    ComboBox的数据没有加载上,也就是请求根本没有到达后台,希望哪位能指点一下,我想不到哪里出了问题,mode属性我也设置了remote。

    解决方案

    这里的关键点在这里: 
    fabircTypeDs.load(); 

    mode:'remote', 

    mode:'local' 或者client

    fabircTypeDs.load(); 表示你打开页面时就将数据取到本地,这样你下拉列表时就不需要取去服务器取数据,如果你要没加上这一句的话,你去下拉那个列表时就会动态去服务器取数据,所以它会显示一下'loading...',这样你就明白为什么要设置mode了,mode:'remote'指的是要动态去服务器端拿数据,这样你就不能加fabircTypeDs.load(),而mode:'local'是取本地数据的也就是javascirpt(内存)中的数据,这样当然不要加上fabircTypeDs.load()啦!

     

    还要指定displayField:"name",valueField:"id"吧

    来源:

  • 相关阅读:
    设计模式:组合模式
    对技术的认识及思考
    设计模式:策略模式
    java集合:常用集合的数据结构
    设计模式:代理模式
    java反射
    Spring事务管理
    在Spring使用junit注解进行单元测试
    tomcat限制ip访问
    获取openid回调两次
  • 原文地址:https://www.cnblogs.com/sharpest/p/7624958.html
Copyright © 2011-2022 走看看