Combobox 在程序中应用十分普遍,每个combobox的选项 一般对应两个值:一个用于前台显示的值,一个与显示值对应的value值。在后台获取value的值需使用combobox的 HiddenName 属性,获取显示值使用name值。

(1)在extjs中combobox中的选项的数据源可以静态加载(local)也可用选择远程加载(remote)。数据源加载方式通过属性  mode 设置。

(2)属性 displayField,valueField 用于设置combobox中选项对用的 key值。设置值为string类型。这两个设置值与数据源中的key相对应。即数据源中的字段命名要和这两个属性对应好,这样才能将选项数据加载。

测试代码:

Ext.onReady(function(){
//根据需要 注释相关代码 测试 /// comb1 代码添加处 /// comb2代码添加处 // 界面整体布局,comb1,comb2 为测试用combobox var qF = new Ext.form.FormPanel({
region : 'center',
margins : '3 3 3 3',
height:480,
title : '<span class="commoncss"><span>',
collapsible : true,
border : true,
labelWidth : 50, // 标签宽度
labelAlign : 'right', // 标签对齐方式
bodyStyle:'padding:10 10 10 10',
layout:'column',
autoScroll:true,
items:[
{ columnWidth : .6,
layout : 'form',
labelWidth :80, // 标签宽度
defaultType : 'textfield',
border : false,
items : [comb1]
},
{ columnWidth : .6,
layout : 'form',
labelWidth :80, // 标签宽度
defaultType : 'textfield',
border : false,
items : [comb2]
}
]
});
var viewport = new Ext.Viewport({
layout : 'border',
items : [qF]
}); });

  

comb1测试数据:本地静态数据源

var comb1Store =  new Ext.data.SimpleStore({
fields : ['SHOWNAME', 'VALUE'],
data : [['类型1', '0'], ['类型2', '1']]
});
var comb1 = new Ext.form.ComboBox({
mode : 'local',//本地数据
store : comb1Store,
width : 300,
displayField : 'SHOWNAME',
valueField : 'VALUE',
fieldLabel : '类型'
});

 对combobox添加自动补齐功能,对comb1 添加一个属性即可:typeAhead:true 

comb2 远程数据加载测试:

var comb2store = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : WEB_CONTEXT+'xxx.action'
}),
reader : new Ext.data.JsonReader({}, [{
name : 'VALUE'
}, {
name : 'SHOWNAME'
}])
});
ds.load();
// load函数在页面加载后,数据源已经在本地了。
// 这个数据源在页面加载时已经加载到本地 var comb 2 = new Ext.form.ComboBox({
mode : 'local',//本地数据
store : comb2store,
width : 300,
   triggerAction: 'all',
displayField : 'SHOWNAME',
    valueField : 'VALUE',
  fieldLabel : '类型'
});

 将上面 mode : 'remote', 数据源为远程获取。

triggerAction : ‘all’  属性添加上。不添加的话,remote下不加载数据。而且选中某个项目后 点击trigger (右边小箭头)不会显示列表了,只显示选中项目。

triggerAction: 'all',  //默认为"query",选择某值后,再次选择时只出现匹配选项,"all"表示再次选择时出现所有项

(3) 上面comb2的两种数据源的设置中,设置为remote的状态下,在用户第一次点击 trigger时,需要和后台交互。local的情况不会。

(4) 添加自动补齐的情况下,comb2,在remote的情况下每次激发自动补齐时,都需要与后台交互,而local的情况则不会。而且remote的情况下会出现自动补齐后,由于再次与后台交互导致combo的已输入内容别覆盖,显示列表中第一个选项的情况。解决方法:1.直接将combobox的mode设置为local,2.给数据源添加方法将combobox设置为local。

combo2store.on("load",function(){
 combo2.mode='local';
});

(5) 刚刚又发现了一个远程data store,然后本地处理的方法。  给store 设置属性 autoLoad:true ,这样store会自动加载,combobox的属性mode 设置为local即可。。。。。

Extjs3 combobox使用的更多相关文章

  1. Extjs3 Combo实现百度搜索查询

    在Extjs中实现Combo手输模糊筛选出下拉框数据.之前一直利用的Combo的keyup来实时的请求数据库进行查询.最近发现了一个更好的方式:只需要引用一个ComboBoxQuery Ext.ns( ...

  2. Extjs combobox 实现搜索框的效果

    目的:使用combobox实现一个类似搜索框的效果,即用户输入内容后,出现相关下列列表,提供选择. 实现:extjs3 中combobox自身带这个功能即在remote模式下,store在load的时 ...

  3. Extjs 让combobox写起来更简单

    也已经写了很久时间的extjs ,每次都用到很多的combobox,配置很多东西觉得实在是太麻烦,所以根据常用到的情况写了一个简便的combobox,再次记录下来,以免放在某个地方忘记了找不到了. 定 ...

  4. ASP.NET Aries JSAPI 文档说明:AR.Form、AR.Combobox

    AR.Form 文档 1:对象或属性: 名称 类型 说明 data 属性 编辑页根据主键请求回来的数据 method 属性 用于获取数据的函数指向,默认值Get objName 属性 用于拦截form ...

  5. 带搜索的ComboBox

    带搜索的ComboBox就是给ComboBox一个依赖属性的ItemSource,然后通过数据源中是否包含要查询的值,重新给ComboBox绑定数据源. public class EditComboB ...

  6. 【MVVM DEV】DataColumn中的TextBox与ComboBox的并存

    一.前言       在WPF编程中,有时候我们使用DataGrid会需要在一个DataColumn中既有TextBox,也要有ComboBox或者TextBlock等其他数据显示样式. 这个时候我们 ...

  7. [WinForm] DataGridView 绑定 DT && ComboBox 列绑定 Dict

    一  需求介绍 一般像枚举类型的数据,我们在数据库里存储着诸如(1.2.3.4-)或者("001"."002"."003"-)此类,但是界面 ...

  8. EasyUI combobox

    高度自适应 data-options="required:true,editable:false,panelHeight:'auto',panelMaxHeight:170" 加上 ...

  9. 【WPF】Combobox指定选中值用selectedValue不是很灵的时候,

    wpf combobox 指定选中的值,前题,combobox是通过数据库绑定的ItemsSource:所以再指定的时候用selectValue不是很成功!我的解决方法是 生成一个字典,办值和索引对应 ...

随机推荐

  1. Python 实现字符串转换成列表 实现str转换list

    其中Python strip() 方法用于移除字符串头尾指定的字符 split()就是将一个字符串分裂成多个字符串组成的列表 >>> image ='1.jsp,2.jsp,3.js ...

  2. scut客户端心跳超时和客户端断开测试

    1.断开的消息触发后,依然会触发超时 2.触发超时不会触发断开 3.超时会触发多次,断开只触发一次 超时不是很准确,好像有时候不会触发.如果要判断玩家是否下线,可以用最后一次心跳时间判断

  3. css 的通用样式 设置 和倒计时功能 移动轮播图的手势滑动的功能

    body{ line-height:1.4; color:#333; font-family:arial; font-size: 12px; background:white; } input,tex ...

  4. 亚信UED前端流程自动化构建工具

    亚信UED前端流程自动化构建工具 .wmd-input, .wmd-input:focus, #md-section-helper {font-size: 14px !important;line-h ...

  5. C/C++开发平时用的自定义debug函数

    一.无颜色版 一.自定义printf #include <stdio.h> #ifdef MYDEBUG #define DEBUG(arg...) {\ printf("[de ...

  6. 项目红色感叹号eclipse因Web App Libraries中的jar包missing导致项目红色感叹号

    症状: 如题 分析: 修改.更换或者删除了WEB-INF/lib中的jar包 解决方案: 右击项目>build path>Libraries 直接remove Web App Librar ...

  7. STM32F10x_模拟I2C读写EEPROM

    Ⅰ.写在前面 说到IIC,大家都应该不会陌生,我们初学单片机的时候或多或少都知道或了解过,甚至使用I2C控制过器件.但是,有多少人真正去深入理解,或者深入研究过I2C通信协议呢? 1.我们有必要学习I ...

  8. libubox-runqueue

    参考:libubox [4] - uloop runqueue ustream 任务队列是通过uloop定时器实现,把定时器超时时间设置为1,通过uloop事件循环来处理定时器就会处理任务队列中的ta ...

  9. 大数据(2) - Hadoop完全分布式的部署

    apache hadoop 官方文档 ** Hadoop介绍 ** HDFS:分布式存储文件 角色:NameNode和DataNode ** YARN:分布式资源调度框架(Hadoop2.x以上才引用 ...

  10. C语言 函数指针二(正向调用)

    //函数指针做函数参数 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<Wi ...