在下拉框添加toolbar,下拉框的宽度不好控制。
ComboBox一般不需要Toolbar;多选下拉框中可能需要添加“全选”,“反选”按钮。
只需要覆盖initList方法,示例如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>04.form</title>
<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css"/>
<script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../../ext-all.js"></script>
<script type="text/javascript">
Ext.BLANK_IMAGE_URL = '../../resources/images/default/s.gif';
Ext.onReady(function() {
var tb = new Ext.Toolbar({items : [
{
text: '新建'
},
{
text: '修改'
},
{
text: '删除'
},
{
text: '显示'
}
]});
var wayComboBox = new Ext.form.ComboBox({
tbar : tb,
store: ['直销', '非直销'],
emptyText: '请选择',
mode: 'local',
editable : false,
fieldLabel : '性质',
valueField: 'value',
displayField: 'text',
triggerAction : 'all',
applyTo : 'combo',
initList : function() {
if (!this.list) {
var cls = 'x-combo-list';
this.list = new Ext.Layer({
shadow: this.shadow, cls: [cls, this.listClass].join(' '), constrain:false
});
var lw = this.listWidth || Math.max(this.wrap.getWidth(), this.minListWidth);
this.list.setWidth(lw);
this.list.swallowEvent('mousewheel');
this.assetHeight = 0;
if (this.title) {
this.header = this.list.createChild({cls:cls + '-hd', html: this.title});
this.assetHeight += this.header.getHeight();
}
/* 添加的代码 */
if (this.tbar) {
var tbar = this.list.createChild();
this.tbar.render(tbar);
this.assetHeight += tbar.getHeight();
var lw = this.listWidth || Math.max(this.list.getWidth(),tbar.getWidth());
this.list.setWidth(lw);
}
this.innerList = this.list.createChild({cls:cls + '-inner'});
this.innerList.on('mouseover', this.onViewOver, this);
this.innerList.on('mousemove', this.onViewMove, this);
this.innerList.setWidth(lw - this.list.getFrameWidth('lr'));
if (this.pageSize) {
this.footer = this.list.createChild({cls:cls + '-ft'});
this.pageTb = new Ext.PagingToolbar({
store:this.store,
pageSize: this.pageSize,
renderTo:this.footer
});
this.assetHeight += this.footer.getHeight();
}
if (!this.tpl) {
this.tpl = '<tpl for="."><div class="' + cls + '-item">{' + this.displayField + '}</div></tpl>';
}
this.view = new Ext.DataView({
applyTo: this.innerList,
tpl: this.tpl,
singleSelect: true,
selectedClass: this.selectedClass,
itemSelector: this.itemSelector || '.' + cls + '-item'
});
this.view.on('click', this.onViewClick, this);
this.bindStore(this.store, true);
if (this.resizable) {
this.resizer = new Ext.Resizable(this.list, {
pinned:true, handles:'se'
});
this.resizer.on('resize', function(r, w, h) {
this.maxHeight = h - this.handleHeight - this.list.getFrameWidth('tb') - this.assetHeight;
this.listWidth = w;
this.innerList.setWidth(w - this.list.getFrameWidth('lr'));
this.restrictHeight();
}, this);
this[this.pageSize ? 'footer' : 'innerList'].setStyle('margin-bottom', this.handleHeight + 'px');
}
}
}
});
});
</script>
</head>
<body>
<br/><br/><br/>
<input id="combo" type="text"/>
</body>
</html>
效果图:
- 大小: 5.3 KB
分享到:
相关推荐
这个插件可能扩展了`Ext.form.ComboBox`,添加了多选功能,允许用户在下拉列表中勾选多个条目。它可能包含了一些额外的方法和配置选项,如设置可选项、控制选中状态、获取选中值等。 `ext-patch.css`文件则可能是...
在Ext JS这个强大的JavaScript框架中,多选下拉框(Multi Select ComboBox)是一种常见的组件,用于提供用户在多个选项中进行选择的功能。这种组件在数据输入、筛选或配置设置等场景中非常实用。本篇文章将深入探讨...
在Windows Forms或WPF(Windows Presentation Foundation)这类.NET框架的开发环境中,添加 Combo 控件到工具栏通常涉及以下步骤: 1. **创建工具栏**:首先,你需要在设计视图中添加一个新的ToolBar控件到窗体上。...
在本文中,我们将深入探讨如何使用Ext 2.0的ComboBox组件实现省份和城市联动选择框的功能。Ext是一个强大的JavaScript库,它提供了丰富的用户界面组件,包括ComboBox,用于创建下拉选择框。在这个例程中,我们将看到...
在CDH使用oozie 的时候需要安装ext-2.2.zip; 新增和改进的功能包括: 1、FileUploadField 文件上传 体验例子见:http://extjs.com/deploy/dev/examples/form/file-upload.html 2、GMapPanel GMap扩展 体验...
在给定的标题“Ext ComboBox 下拉多选框带搜索功能”中,我们关注的是一个特别的ComboBox实现,它不仅允许用户从下拉列表中选择多个选项,还具备搜索功能,使得用户可以更高效地找到他们想要的选择项。 ComboBox在...
ext,ext combobox,ext二级联动,ext combobox二级联动 ___本人的原则:上传好东西,但绝不便宜.因为自己的心血 ext combobox二级联动,ext ,ext combobox,combobox,combobox二级联动,ext 二级联动 groupCombo.on('...
首先,ComboBox在Ext JS中是一个可选列表的输入控件,它可以展示一个下拉菜单供用户选择。在本地模式下,ComboBox的数据通常存储在本地,如JavaScript数组中,而不是从远程服务器获取。这样可以提高应用的响应速度,...
用EXT来实现下拉框ComboBox 下拉框可以实现分页
首先在窗体中添加一个comboBox1和一个imageList(本例中带有三个图片) this.comboBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
在Ext JS的comboBox中,远程模式(remote mode)是一种数据加载策略,它适用于处理大量数据或实时数据的情况。在这种模式下,comboBox不会一次性加载所有选项,而是根据用户输入的关键词动态地向服务器发送请求,...
Delphi中在ComboBox中添加数据库中字段
当我们需要在ComboBox中添加更丰富的元素,比如颜色和样式,通常会涉及到GDI+库的使用,因为GDI+提供了强大的图形绘制功能。这篇教程将探讨如何在ComboBox中添加颜色和填充样式,以及利用反射技术来实现更多高级功能...
在Visual C++ (VC++) 开发环境中,创建一个带有下拉框(ComboBox)的工具栏是常见的需求,特别是在设计用户友好的图形用户界面时。ComboBox控件结合了文本输入框和下拉列表的功能,允许用户从预设的选项中选择或者...
AE 中使用 comboBox 添加图层 VB 代码详解 在 ArcEngine(AE)开发中,添加图层是非常常见的操作。为了实现图层的添加和字段的显示,我们可以使用 comboBox 控件来实现。下面我们将详细介绍如何使用 comboBox 在 AE...
在Ext JS中,ComboBox通常用于显示一个可选的下拉列表,而Grid则用于展示大量数据并进行编辑和操作。ComboboxGrid将这两者融合,使得用户可以在输入框中输入关键字搜索,同时下拉展示匹配的网格数据,便于多维度筛选...
本文将深入探讨如何在工具栏上添加通用控件,特别是组合框(ComboBox)这一多功能控件。 一、通用控件的概念 通用控件是Windows API提供的一组可复用的用户界面元素,它们可以被集成到各种应用程序中,以提供标准化...
在Ext3.4版本中,IconCombobox是对Combobox的增强,它允许每个列表项前面添加一个图标。这在许多场景下都很有用,例如,当需要区分不同类型的选项时,图标可以提供视觉上的辅助信息。实现这个功能通常需要自定义...
EXT2_combobox_form.rar_combobox ext_ext 这个标题暗示我们关注的是一个与EXT2相关的项目,其中包含了关于form表单和combobox的示例。EXT是一个流行的JavaScript库,主要用于构建富客户端应用,特别是Web应用的用户...