首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Extjs中的comboBox从远程获取的数据无法显示的有关问题

2012-03-07 
Extjs中的comboBox从远程获取的数据无法显示的问题?我在formpanel中定义了一个comboBox,想让它从远程加载

Extjs中的comboBox从远程获取的数据无法显示的问题?
我在formpanel中定义了一个comboBox,想让它从远程加载数据,遇到的问题是远程的数据加载出来了,但是却无法显示在comboBox中的,源码如下,请各位大虾指教(将mode设置为local或直接remote都没有结果)。
1、远程数据源定义如下:
 

JScript code
var classStore=new Ext.data.Store({        autoLoad:true,        proxy:new Ext.data.HttpProxy({            url:'learner/loadAllClass.action'        }),        reader:new Ext.data.JsonReader({            root:'classList',            fields:['className']        })    });    classStore.load();     

2、comboBox设置如下:
JScript code
var className=new Ext.form.ComboBox({        id:'',        fieldLabel:'所属团体',        mode:'local',        name:'person.groupName',        hiddenName:'person.groupName',        triggerAction:'all',        //loadingText:'正在加载团体信息,请稍候...',        store:classStore,        valueField:'className',        displayField:'className',        forceSelection:true,        editable:false    })

3、后台struts.xml配置部分如下:
XML code
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "struts-2.1.dtd" ><struts><package name="learner-package" namespace="/learner" extends="json-default"><action name="load" class="learnerAction" method="load"><result type="json"><param name="includeProperties">{learnerList,totalRecords}</param></result></action><action name="uploadExcel" class="learnerAction" method="upload"><interceptor-ref name="fileUploadStack"/><result type="json"><param name="root">result</param><param name="contentType">text/html</param></result></action><action name="saveOne" class="learnerAction" method="saveOne"><result type="json"><param name="root">result</param></result></action><action name="deletes" class="learnerAction" method="deletes"><result type="json"><param name="root">result</param></result></action><action name="loadAllClass" class="learnerAction" method="loadAllClass"><result type="json"><param name="root">classList</param><param name="includeProperties">className</param></result></action></package></struts>

4、action所依赖的dao方法以及list中的对象具体内容如下:
Java code
public List getAllClass() throws DAOException{        try{            String queryString="from LearnerClass";            return this.getHibernateTemplate().find(queryString);        }        catch(Exception ex){            throw new DAOException(ex);        }        }public class LearnerClass implements java.io.Serializable {    // Fields    private String className;    private String classDesc;    private String classAddress;    private String classPerson;    private Long classTel;    // Constructors    /** default constructor */    public LearnerClass() {    }    /** full constructor */    public LearnerClass(String className, String classDesc,            String classAddress, String classPerson, Long classTel) {        this.className = className;        this.classDesc = classDesc;        this.classAddress = classAddress;        this.classPerson = classPerson;        this.classTel = classTel;    }    // Property accessors    public String getClassName() {        return this.className;    }    public void setClassName(String className) {        this.className = className;    }    public String getClassDesc() {        return this.classDesc;    }    public void setClassDesc(String classDesc) {        this.classDesc = classDesc;    }    public String getClassAddress() {        return this.classAddress;    }    public void setClassAddress(String classAddress) {        this.classAddress = classAddress;    }    public String getClassPerson() {        return this.classPerson;    }    public void setClassPerson(String classPerson) {        this.classPerson = classPerson;    }    public Long getClassTel() {        return this.classTel;    }    public void setClassTel(Long classTel) {        this.classTel = classTel;    }} 


5、用firebug测试显示能加载到数据,如图所示:


我刚开始是用远程获取的方法,即将mode设置为remote当下拉时获取数据,也是能加载数据但是还是不能在列表中显示,后来百度了下,看到人家也碰到相似问题建议现在这种方式,可是还是显示不出来。不知道是什么原因,各位大虾请帮忙!

[解决办法]
学习下 自己没涉及过这方面的知识…………
[解决办法]
mode : "remote", 
 triggerAction : 'all',
这两句话都加上

热点排行