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. javascript和html中unicode编码和字符转义的详解

    1.html中的转义:在html中如果遇到转义字符(如“ ”),不管你的页面字符编码是utf-8亦或者是GB2312,都会直接打印成相应的字符:而当遇到(如:“\u8981”[此处的8981是16进制 ...

  2. Java序列化与反序列化学习(二):序列化接口说明

    一.序列化类实现Serializable接口 Serializable接口没有方法,更像是个标记.有了这个标记的Class就能被序列化机制处理. ObjectOutputStream只能对Serial ...

  3. tensorboard 之 TF可视化

    tensorboard是TF提供的一个可视化的工具 1.tensorboard可视化的数据来源? 将tensorflow程序运行过程中输出的日志文件进行可视化展示. 1.1 tensorflow怎样输 ...

  4. Hadoop 2.0 编译问题小结

    原文见 http://xiguada.org/hadoop-2-x-compile/ 这些问题是2013年初整理的,不过到目前为止,即使最新的hadoop2.0系列,编译总体上变化不大,因此还能适用. ...

  5. qt中执行 sql文件的方法

    由于qt中没有原生的执行sql文件的方法.因此我们需要根据sql文件中的流的特点,将其分解成一个个语句单独执行. 1.首先通过Qfile读取sql文件 2.将sql文件中的内容通过“:”进行拆解 3. ...

  6. FileMonitorKit 文件操作监控工具

    本人业余时间写的一款文件操作监控工具,功能稳定.效果非常好,有兴趣的网友能够下载玩玩. 下载地址: 32位:http://pan.baidu.com/s/1o64ZFIi          FileM ...

  7. Github上Fork代码,及源码修改

    iOS开发中经常遇到这种情况,你使用的第三方库不能完全满足自己项目需要,只能修改源码来解决. 我们以前的解决办法是,添加到项目中直接修改源码.这样就有一个问题,不能和源库同步,当作者更新后你不能(po ...

  8. ECMall 中URL体系的改造思路

    EC系列的产品都已停止更新很久了,但其对中国中小电商企业的影响无疑是巨大的.很多公司,都是直接拿来即改,改了即用. 但他们都有个问题,代码是比较传统的开发模式过来的,尤其ecshop.ECMall系统 ...

  9. python post get请求

    安装 Requests pip install requests import requests requests.get('https://github.com/timeline.json') 使用 ...

  10. 第二百零六节,jQuery EasyUI,Menu(菜单)组件

    jQuery EasyUI,Menu(菜单)组件 学习要点: 1.加载方式 2.菜单项属性 3.菜单属性 4.菜单事件 5.菜单方法 本节课重点了解 EasyUI 中 Menu(菜单)组件的使用方法, ...