`
akinlong
  • 浏览: 69981 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Ext.combobox

阅读更多

1.服务器数据作为ComboBox的数据源 实例
首先从服务器获取json数据:

//cs后台代码,简单起见,示例而已,要主要字符串格式(新手注意,下面的代码放在类里面,不是放在方法里)
public string  ServerData=”['湖北','江西','安徽']“;

//前台js介绍代码
Ext.onReady(function(){
var combo=new Ext.form.ComboBox({
store:<%=ServerData%>,//获取ServerData的string值, 不要用”"引起来,否则就不是object数据,而是字符串,这是一个很巧妙的关键点:把服务器的字符串转化为js的object数据,            emptyText:’请 选择一个省份….’,
applyTo: ’combo’
});
});

//前台html代码
<input type=”text” id=”combo” size=”20″/>
我们就通过<%=ServerData%>这样的方式获取到了服务器最简单的属性数据。
2.ComboBox的数据源store格式详解
在前面的例子里面,我们一直给 ComboBox的数据源store赋值一维数组,其实store支持多维和Store.data.Store类型。

//下面就几种数据以代码举例说明
1.一维数组:["江 西","湖北"],值同时赋给ComboBox的value和text
2. 二维和多维数组:[["one","bbar","111"],["two","tbar","222"]], 第一维和第二维分别赋值给value和text,其他维忽略
3.store类型:包括 GroupingStore, JsonStore, SimpleStore.
//我们分三步走:
//第一步:提供数据:
var data=[[' 湖北','hubei'],['江西','jiangxi'],['安徽','anhui']];
//第二步:导入到store中:
var store = new Ext.data.SimpleStore({
fields: ['chinese', 'english'],
data : data
});
//第三步 :把store托付给comboBox的store
var combo = new Ext.form.ComboBox({
store: store,
displayField:’english’,//store字段中你要显示的字段,多字段必选参数,默认当mode为remote时displayField为undefine,当 select列表时displayField为”text”
mode: ’local’,//因为data已经取数据到本地了,所以’local’,默认为”remote”,枚举完
emptyText:’请选择一个省 份…’,
applyTo: ’combo’
});

3.ComboBox的value获取
添加listeners事件:

//ComboBox的事件很多(api),我们无法一一讲解,但是我们可以举一反三,select事件就是其中典型的一 个
listeners:{
“select”:function(){
alert(Ext.get(“combo”).dom.value);   //获取id为combo的值
}
}
//这里我们提供了一种不是很好的方法,在此不做过多停留
4.把Extjs的ComboBox样式应用到select的下拉框中去

transform:id//用于转换样式的,TimeField作为ComboBox的子类也有此属性

核心代码:

//js代码
var ExtSelect=new Ext.form.ComboBox({
transform:”select”,//html中的id
width:80//宽度
});
//html代码
<select id=”select”>
<option value=”1″>***</option>
<option value=”2″>博客园</option>
<option value=”3″>百度</option>
<option value=”4″>新浪</option>
</select>

//是不是超级简单?    从 中不是也可以看出extjs的不同之处的,不过不明显!
5.ComboBox的其他重要参数

1.valueField:”valuefield”//value值字段
2.displayField:”field” //显示文本字段
3.editable:false//false则不可编辑,默认为 true
4.triggerAction:”all”//请设置为”all”,否则默认 为”query”的情况下,你选择某个值后,再此下拉时,只出现匹配选项,如果设为”all”的话,每次下拉均显示全部选项
5.hiddenName:string //真正提交时此combo的name,请一定要注意
6.typeAhead:true,//延时查询,与下面的参数配合
7.typeAheadDelay:3000,//默认250

6.ComboBox使用时注意

combo这个控件是需要绑定一个Store数据源才能使用的,
因此,在数据绑定中 combo需要指定两个比较关键的属性displayField和valueField
displayField指定一个Store的某一个列 名,也就是Store的fields指定的内容
而valueField,则是实际combo返回的值,displayField是指示显示的
如 果valueField不指定也行,不过返回值就成了displayField

7.combobox动态加载问题

 

 var moduleStore = new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({
            url: 'getShenOrder.action' //这里是参数可以顺便写,这个数据源是在第一个下拉框select的时候load的
        }),
        reader: new Ext.data.JsonReader({
        totalProperty: "results",
        root: 'list',
        fields:['code','name']
        })/*,
        listeners: {
            load: function() {
    	        var combo = Ext.getCmp('ruleid');
                combo.setValue(combo.getValue());
            }
        }*/
       });

 var comb  = new Ext.form.ComboBox({
	fieldLabel: '审核级别',
	labelSeparator : ':',
	id:"ruleid",
	name:"ruleid",
	baseCls:"x-plain",
	store:moduleStore,
	valueField:'code',
	displayField:'name',
	typeAhead: true,
	mode: 'local',
	triggerAction: 'all',
	selectOnFocus:true,
	editable:false,
	readOnly: true,
	listWidth: 105,                //设置数据显示框的长度
	width:90,                      //设置下拉框的长度
	hideTrigger:false
//	listeners: {  //为Combo添加select事件
//		  select: function(combo, record, index) {   // 该事件会返回选中的项对应在 store中的 record值. index参数是排列号.
//		  }
//		  }
})

moduleStore.load({params:{typeCode:targetcode}});
moduleStore.on('load',function(store,record,opts){   //为Store设置load事件									var combo = Ext.getCmp("ruleid");
	if(p2==0){
	var  firstValue  = record[0].data.code;//这种方法也可以获得第一项的值
	combo.setValue(firstValue);//选中
         }else{
	 combo.setValue(p2);   //根据审核顺序设置combo选中值
	}
});

//	Ext.getCmp('ruleid').setValue(p2.toString()); 设置当前选中值Value
//      应该在load时setValue(data)或者第一次combobox显示的是data的值
//	Ext.getCmp('ruleid').setRawValue('一级审核');  设置显示的Text
0
0
分享到:
评论

相关推荐

    Ext.form.field.ComboBox结合Java、JSON实现AutoComplete

    Ext.form.field.ComboBox结合Java、JSON实现AutoComplete

    Ext.form表单中各种属性应用详解

    1. Ext.form.NumberField 2. Ext.form.TextArea 3. Ext.form.TriggerField 4. Ext.form.DateField 5. Ext.form.ComboBox 6. Ext.form.TimeField

    Ext组合框comboBox带分页

    用EXT来实现下拉框ComboBox 下拉框可以实现分页

    ext多选下拉列表的全选功能实现

    NULL 博文链接:https://leonel.iteye.com/blog/454174

    EXT核心API详解

    53、Ext.form.DateField类 ………… 45 54、Ext.form.ComboBox类 ……………… 46 55、Ext.form.TimeField类 ………… 47 56、Ext.menu.Menu类 ………………… 50 57、Ext.menu.BaseItem类 …………… 50 58、Ext....

    在combobox控件中添加图标

    首先在窗体中添加一个comboBox1和一个imageList(本例中带有三个图片) this.comboBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;

    ext combobox二级联动

    ext,ext combobox,ext二级联动,ext combobox二级联动 ___本人的原则:上传好东西,但绝不便宜.因为自己的心血 ext combobox二级联动,ext ,ext combobox,combobox,combobox二级联动,ext 二级联动 groupCombo.on('...

    用Ext 2.0 combobox 做的省份和城市联动选择框的例程

    用Ext 2.0 combobox 做的省份和城市联动选择框的例程

    ext可编辑表格

    editor: new fm.ComboBox({ typeAhead: true, triggerAction: 'all', transform: 'light', lazyRender: true, listClass: 'x-combo-list-small' }) }, { header: 'Price', dataIndex: 'price', width: 70...

    ExtJS入门教程(超级详细)

    53、Ext.form.DateField类 ………… 45 54、Ext.form.ComboBox类 ……………… 46 55、Ext.form.TimeField类 ………… 47 56、Ext.menu.Menu类 ………………… 50 57、Ext.menu.BaseItem类 …………… 50 58、Ext....

    Ext Js权威指南(.zip.001

    Ex4.0共2个压缩包特性,《ext js权威指南》 前 言 第1章 ext js 4开发入门 / 1 1.1 学习ext js必需的基础知识 / 1 1.2 json概述 / 3 1.2.1 认识json / 3 1.2.2 json的结构 / 3 1.2.3 json的例子 / 4 1.2.4 ...

    extjs editgrid combobox 回显

    extjs editgrid combobox 回显extjs editgrid combobox 回显extjs editgrid combobox 回显extjs editgrid combobox 回显

    Extjs4下拉树菜单ComboBoxTree支持单选和多选并且支持展开选中指定节点的通用控件

    Extjs4下拉树菜单 ComboBoxTree 支持单选和多选并且支持展开选中指定节点的通用控件 在项目中已经成熟运用 值得收藏和运用

    ExtJSWeb应用程序开发指南(第2版)

    4.1.12 Ext.form.field.ComboBox组合框 4.1.13 Ext.form.field.Time时间选择框 4.1.14 Ext.form.field.Date日期选择框 4.1.15 Ext.form.field.Hidden隐藏字段 4.1.16 Ext.form.field.HtmlEditor编辑器字段 ...

    Ext JS 实现建议词模糊动态搜索功能

    new Ext.form.ComboBox({ store: new Ext.data.JsonStore({ idProperty: 'VehicleNo', url: '../ajax/test.ashx, fields: ['VehicleNo', 'phoneNum'] }), id:'querynodesid', emptyText:'快速检索', ...

    ext-2.2.zip

    在CDH使用oozie 的时候需要安装ext-2.2.zip; 新增和改进的功能包括: 1、FileUploadField 文件上传 ... ...我用之前的ext版本 当只有一页数据时,页码导航不会灰色,换成ext2.2就...Ext.form.ComboBox 的样式就很漂亮!

    ExtJs入门实例

    6. ExtJs2.0学习系列(6)--Ext.FormPanel之第三式(ComboBox篇) 7. ExtJs2.0学习系列(7)--Ext.FormPanel之第四式(其他组件示例篇) 8. ExtJs2.0学习系列(8)--Ext.FormPanel之第五式(综合篇) 9. ExtJs2.0学习系列(9)--...

    基于extjs的.NET3.5控件Coolite 1.0.0.34580(Preview预览版)

    66. Renamed ComboBox and DropDownField .Icon property to .TriggerIcon. Example (Old) &lt;ext:DropDownField runat="server" Icon="Search" /&gt; Example (New) &lt;ext:DropDownField runat=...

    Ext3.1 21款精美主题和动态换皮肤

    this.cboTheme = new Ext.form.ComboBox({ id: 'ux-startcombo-theme', store: themestore, valueField: 'File', displayField: 'Name', mode: 'local', typeAhead: true, editable: false, triggerAction:...

    Ext combobox 下拉多选框带搜索功能

    NULL 博文链接:https://dengli19881102.iteye.com/blog/1046190

Global site tag (gtag.js) - Google Analytics