`
liang1long2qun3
  • 浏览: 15032 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

EXT2.2 ComboBox中添加工具栏tbar

阅读更多

在下拉框添加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
分享到:
评论

相关推荐

    基于EXT2.2的下拉复选框

    这个插件可能扩展了`Ext.form.ComboBox`,添加了多选功能,允许用户在下拉列表中勾选多个条目。它可能包含了一些额外的方法和配置选项,如设置可选项、控制选中状态、获取选中值等。 `ext-patch.css`文件则可能是...

    Ext多选下拉框

    在Ext JS这个强大的JavaScript框架中,多选下拉框(Multi Select ComboBox)是一种常见的组件,用于提供用户在多个选项中进行选择的功能。这种组件在数据输入、筛选或配置设置等场景中非常实用。本篇文章将深入探讨...

    在工具栏上添加Combo控件

    在Windows Forms或WPF(Windows Presentation Foundation)这类.NET框架的开发环境中,添加 Combo 控件到工具栏通常涉及以下步骤: 1. **创建工具栏**:首先,你需要在设计视图中添加一个新的ToolBar控件到窗体上。...

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

    在本文中,我们将深入探讨如何使用Ext 2.0的ComboBox组件实现省份和城市联动选择框的功能。Ext是一个强大的JavaScript库,它提供了丰富的用户界面组件,包括ComboBox,用于创建下拉选择框。在这个例程中,我们将看到...

    ext-2.2.zip

    在CDH使用oozie 的时候需要安装ext-2.2.zip; 新增和改进的功能包括: 1、FileUploadField 文件上传 体验例子见:http://extjs.com/deploy/dev/examples/form/file-upload.html 2、GMapPanel GMap扩展 体验...

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

    在给定的标题“Ext ComboBox 下拉多选框带搜索功能”中,我们关注的是一个特别的ComboBox实现,它不仅允许用户从下拉列表中选择多个选项,还具备搜索功能,使得用户可以更高效地找到他们想要的选择项。 ComboBox在...

    ext combobox二级联动

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

    Ext4.0 动态修改ComboBox选择项(本地模式)

    首先,ComboBox在Ext JS中是一个可选列表的输入控件,它可以展示一个下拉菜单供用户选择。在本地模式下,ComboBox的数据通常存储在本地,如JavaScript数组中,而不是从远程服务器获取。这样可以提高应用的响应速度,...

    Ext组合框comboBox带分页

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

    在combobox控件中添加图标

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

    Ext comboBox的remote模式,联想功能实现

    在Ext JS的comboBox中,远程模式(remote mode)是一种数据加载策略,它适用于处理大量数据或实时数据的情况。在这种模式下,comboBox不会一次性加载所有选项,而是根据用户输入的关键词动态地向服务器发送请求,...

    Delphi中在ComboBox中添加数据库中字段

    Delphi中在ComboBox中添加数据库中字段

    ComboBox中添加颜色和式样

    当我们需要在ComboBox中添加更丰富的元素,比如颜色和样式,通常会涉及到GDI+库的使用,因为GDI+提供了强大的图形绘制功能。这篇教程将探讨如何在ComboBox中添加颜色和填充样式,以及利用反射技术来实现更多高级功能...

    visual c++ vc在工具栏上添加下拉框ComboBox.zip

    在Visual C++ (VC++) 开发环境中,创建一个带有下拉框(ComboBox)的工具栏是常见的需求,特别是在设计用户友好的图形用户界面时。ComboBox控件结合了文本输入框和下拉列表的功能,允许用户从预设的选项中选择或者...

    AE中添加使用comboBox进行添加图层VB代码

    AE 中使用 comboBox 添加图层 VB 代码详解 在 ArcEngine(AE)开发中,添加图层是非常常见的操作。为了实现图层的添加和字段的显示,我们可以使用 comboBox 控件来实现。下面我们将详细介绍如何使用 comboBox 在 AE...

    Ext ComboboxGrid

    在Ext JS中,ComboBox通常用于显示一个可选的下拉列表,而Grid则用于展示大量数据并进行编辑和操作。ComboboxGrid将这两者融合,使得用户可以在输入框中输入关键字搜索,同时下拉展示匹配的网格数据,便于多维度筛选...

    在工具栏上添加通用控件

    本文将深入探讨如何在工具栏上添加通用控件,特别是组合框(ComboBox)这一多功能控件。 一、通用控件的概念 通用控件是Windows API提供的一组可复用的用户界面元素,它们可以被集成到各种应用程序中,以提供标准化...

    Ext带图标Combobox

    在Ext3.4版本中,IconCombobox是对Combobox的增强,它允许每个列表项前面添加一个图标。这在许多场景下都很有用,例如,当需要区分不同类型的选项时,图标可以提供视觉上的辅助信息。实现这个功能通常需要自定义...

    EXT2_combobox_form.rar_combobox ext_ext

    EXT2_combobox_form.rar_combobox ext_ext 这个标题暗示我们关注的是一个与EXT2相关的项目,其中包含了关于form表单和combobox的示例。EXT是一个流行的JavaScript库,主要用于构建富客户端应用,特别是Web应用的用户...

Global site tag (gtag.js) - Google Analytics