Ext ComboBox控件使用常见问题
来源:互联网 发布:网络调研 关于公共艺术 编辑:程序博客网 时间:2024/06/06 21:40
1。ComboBox加载数据之后,ComboBox里面的值跑位,不能正确对应到ComboBox里面。
原因:因为要传name的值到服务器端,使用到了隐藏属性hiddeName来传值,hiddenName的名是要和name一样的。如果id和name设置为相同的,就会不能正确对应。所以,comboBox的id和name 不能设置一样
new Ext.form.ComboBox({
id:"comboId",
name:"comboName",
hiddenName:"comboName"
});
2。 第二个问题是明明已经加载了数据之后store里面也有值,确没有再ComboBox里面显示,这个你就要注意你的ComboBox里面有没有设置valueField 和 displayField, valueField绑定到当前底层数据,相当于它的id,displayValue,绑定到当前底层数据对应的名词,顾名思义也就是显示出来的值。还要注意一下,它的映射是否也有写,field 里面是否写正确了。如果这两个属性没有,那就是值怎么也显示不出来的。还有一点是,得到的值从服务器端传回来,一定要记得有response.getWrite().print(json格式值); 有时前台都写正确了,但是还是没值,那就是没有将值传到前台
store : new Ext.Data.Store({
proxy: new Ext.Data.httpProxy({}),
reader:new Ext.data.JsonReader({});
field:["valueid","displayName"]
});
new Ext.form.ComboBox({
id:"comboId",
name:"comboName",
hiddenName:"comboName",
store:store
valueField:"valueid" , //要跟field里面对应,不然不能正确匹配
displayField:"dispalyField"
});
3. 获取ComboBox手动输入的值。手动输入的值是没有完全设置到ComboBox中value里面的,所以当我们去获取的时候,得到都是一个空字符串。
listeners : {
render : function(f) {
f.el.on('keyup', function(e) {
f.setValue(f.getRawValue());
vipStore.proxy = new Ext.data.HttpProxy({
url : "vip_realtimeVipName.action?vipID="
+ f.getRawValue()
});
vipStore.load();
});
原因:因为要传name的值到服务器端,使用到了隐藏属性hiddeName来传值,hiddenName的名是要和name一样的。如果id和name设置为相同的,就会不能正确对应。所以,comboBox的id和name 不能设置一样
new Ext.form.ComboBox({
id:"comboId",
name:"comboName",
hiddenName:"comboName"
});
2。 第二个问题是明明已经加载了数据之后store里面也有值,确没有再ComboBox里面显示,这个你就要注意你的ComboBox里面有没有设置valueField 和 displayField, valueField绑定到当前底层数据,相当于它的id,displayValue,绑定到当前底层数据对应的名词,顾名思义也就是显示出来的值。还要注意一下,它的映射是否也有写,field 里面是否写正确了。如果这两个属性没有,那就是值怎么也显示不出来的。还有一点是,得到的值从服务器端传回来,一定要记得有response.getWrite().print(json格式值); 有时前台都写正确了,但是还是没值,那就是没有将值传到前台
store : new Ext.Data.Store({
proxy: new Ext.Data.httpProxy({}),
reader:new Ext.data.JsonReader({});
field:["valueid","displayName"]
});
new Ext.form.ComboBox({
id:"comboId",
name:"comboName",
hiddenName:"comboName",
store:store
valueField:"valueid" , //要跟field里面对应,不然不能正确匹配
displayField:"dispalyField"
});
3. 获取ComboBox手动输入的值。手动输入的值是没有完全设置到ComboBox中value里面的,所以当我们去获取的时候,得到都是一个空字符串。
listeners : {
render : function(f) {
f.el.on('keyup', function(e) {
f.setValue(f.getRawValue());
vipStore.proxy = new Ext.data.HttpProxy({
url : "vip_realtimeVipName.action?vipID="
+ f.getRawValue()
});
vipStore.load();
});
}
- Ext文件
- var Ptype=new Ext.data.SimpleStore({
- fields:['value', 'text'],
- data:[['01','咨询类'],['02','软件类'],['03','其他']]
- });
- var combo=new Ext.form.ComboBox({
- id:'depart',
- name:'Pptype',
- fieldLabel:'所属部门',
- emptyText:'请选择',
- anchor:'95%',
- //hiddenName:'depart_com',
- mode : 'local',
- editable: false,
- triggerAction: 'all',
- //readOnly : true,
- store:Ptype,
- valueField : 'value', //值
- displayField : 'text' //显示下拉框内容
- //allowBlank : false//不允许为空
- //blankText:'请选择部门'
- });
- java文件
- public List selectDepatCom(){
- List list=new ArrayList();
- String sql="select * from depart";
- DBcon dbcon=new DBcon();
- try {
- PreparedStatement ps=dbcon.con.prepareStatement(sql);
- ResultSet rs=ps.executeQuery();
- while(rs.next()){
- DepartBean db=new DepartBean();
- db.setDepid(rs.getInt(1));
- db.setDepname(rs.getString(2));
- list.add(db);
- }
- rs.close();
- ps.close();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }finally{
- dbcon.closeDBcon();
- }
- return list;
- }
最后,如果你的ComboBox控件,采用远程服务器取数据的话, mode:要采用remote, 当出现数据显示不了的话,你也可能和我犯了一样愚蠢的错误, 没有为ComboBox控件指定 triggerAction, 因为当下拉框被激活了之后,要判断该值。(all: 显示所有数据不过滤, query:过滤数据,如果是远程的话,会调用查询)
- Ext ComboBox控件使用常见问题
- Ext Combobox使用 Demo
- Extjs Ext.form.ComboBox() 控件分页
- combobox控件的使用
- comboBox控件使用
- VC comboBox控件使用
- combobox控件使用
- VC ComboBox控件使用
- combobox控件使用
- C# ComboBox控件使用
- COMBOBOX控件使用
- vc combobox控件使用
- comboBox控件的使用
- MFC ComboBox控件使用
- C# ComboBox控件使用
- C# ComboBox控件使用
- Ext,ComboBox
- VC/MFC ComboBox控件使用
- linux 通过命令修改文件内容
- FmPro Migrator 6.01发布 FileMaker数据库迁移工具
- table.column 或列说明无效
- 关于android单元测试结合SAX解析xml文件初步分析
- iis6对网站上传图片大小有限制
- Ext ComboBox控件使用常见问题
- 避免android程序开发内存泄漏-context
- AIR中使用HTMLLoader加载HTML文件
- 美国国家标准与技术实验室对云计算的定义
- 通过LINUX命令判断OS,DB,DNS,HOSTNAME等配置
- http404错误
- 安装Microsoft .NET Framework 4.0后站点所有ASPX页面404解决方法
- Maven Jetty Plugin Configuration Guide
- 获取Android系统权限