.ux-icon-combo-input {
padding-left: 25px;
}
.x-form-field-wrap .ux-icon-combo-icon {
top: 3px;
left: 5px;
}
.ux-icon-combo-item {
background-repeat: no-repeat ! important;
background-position: 3px 50% ! important;
padding-left: 24px ! important;
width:120px;
height:30px;
}
Ext.ux.IconCombo = Ext.extend(Ext.form.ComboBox, {
initComponent:function() {
Ext.apply(this, {
tpl: '<tpl for=".">'
+ '<div class="x-combo-list-item ux-icon-combo-item '
+ '{' + this.iconClsField + '}">'
+ '{' + this.displayField + '}'
+ '</div></tpl>'
});
// call parent initComponent
Ext.ux.IconCombo.superclass.initComponent.call(this);
}, // end of function initComponent
onRender:function(ct, position) {
// call parent onRender
Ext.ux.IconCombo.superclass.onRender.call(this, ct, position);
// adjust styles
this.wrap.applyStyles({position:'relative'});
this.el.addClass('ux-icon-combo-input');
// add div for icon
this.icon = Ext.DomHelper.append(this.el.up('div.x-form-field-wrap'), {
tag: 'div', style:'position:absolute'
});
}, // end of function onRender
setIconCls:function() {
var rec = this.store.query(this.valueField, this.getValue()).itemAt(0);
if(rec) {
this.icon.className = 'ux-icon-combo-icon ' + rec.get(this.iconClsField);
}
}, // end of function setIconCls
setValue: function(value) {
Ext.ux.IconCombo.superclass.setValue.call(this, value);
this.setIconCls();
} // end of function setValue
});
// register xtype
Ext.reg('iconcombo', Ext.ux.IconCombo);
使用:
var severityComboStore= new Ext.data.JsonStore({
root:'rows',
fields:['key','value','icon'],
data : {
'rows':[
{key:'',value:'严重等级:所有',icon:''},
{key:'CRITICAL',value:'严重等级:严重',icon:'criticalIcon'},
{key:'WARNING',value:'严重等级:告警',icon:'warningIcon'},
{key:'UNKNOW',value:'严重等级:未知',icon:'unknowIcon'}
//,{key:'ok',value:'正常',icon:'okIcon'}
]
}
})
{
xtype : "iconcombo",
editable : false,
id : 'eventStateCombo',
mode : 'local',
triggerAction : "all",
emptyText : '事件状态',
store :eventStateComboStore,
value:'4',
valueField:'key',
displayField : 'value',
iconClsField: 'icon',
listeners:{
"beforeselect":filterEventState //选择事件状态过滤
}
}
分享到:
相关推荐
**ExtJS Icon Combobox详解** 在Web开发领域,ExtJS是一个强大的JavaScript库,它提供了丰富的组件和工具,用于构建复杂的用户界面。其中,Icon Combobox是ExtJS中的一个特色组件,将图标与下拉列表结合,提升了...
而"Ext带图标Combobox"(Ext IconCombobox)是Ext JS中的一个特色组件,它是Combobox(下拉框)与图标相结合的一种扩展形式,为用户提供了更加直观且美观的交互体验。 **1. Ext Combobox基础** 首先,我们需要了解...
首先在窗体中添加一个comboBox1和一个imageList(本例中带有三个图片) this.comboBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
Ext IconComBox是一款基于Ext JS库的组件,它扩展了标准的下拉框(ComboBox)功能,使得在下拉列表前可以添加自定义的图标。这个特性使得UI设计更加丰富多彩,提高了用户界面的视觉吸引力和交互性。在本文中,我们将...
IconComboBox的核心是EXT.form.Combobox,它是EXT JS中用于创建下拉列表的组件。我们首先需要创建一个新的类,继承自EXT.form.field.ComboBox,并在其基础上添加我们所需的新功能。这通常包括定义新的配置选项、重写...
66. Renamed ComboBox and DropDownField .Icon property to .TriggerIcon. Example (Old) <ext:DropDownField runat="server" Icon="Search" /> Example (New) <ext:DropDownField runat=...
var iconCombox = new Ext.form.ComboBox({ xtype: 'iconcombox', store: store, displayField: 'text', valueField: 'id', tpl: '<tpl for="."><div class="x-combo-list-item"><img src="{icon}" alt="{text}...
- **概述**:`Ext` 是 ExtJS 的核心命名空间,包含了全局的方法和属性。 - **用途**:提供了一个统一的入口来访问 ExtJS 库的功能,如创建组件、管理事件等。 - **常用方法**: - `Ext.create()`: 创建一个组件实例...
如果图片太大,就会出现覆盖了Combobox中的字,或者出现Icon显示不全种种问题,后来读了IconComboBox的源代码,修改了其中的问题: 在Ext.ux.IconCombo.js这个文件中: 代码如下: /** * Ext.ux.IconC
它不仅轻量级而且完全免费开源,相较于其他框架如Ext JS,其优势在于体积更小、更易于上手。 根据给定文件提供的信息,我们将重点介绍几个关键的组件,包括Accordion(可折叠标签)、DateBox(日期框)、ComboBox...
var Icon: TIcon): Boolean; {测试通过} {* 取得与文件相关的图标,成功则返回True} function CreateBakFile(FileName, Ext: string): Boolean; {测试通过} {* 创建备份文件} function Deltree(Dir: string): ...