`
hackbomb
  • 浏览: 216649 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

combobox初始值的问题

    博客分类:
  • Ext
EXT 
阅读更多

最近碰到一个问题,有一个combobox,下拉的选项是从服务器读取的,我想在修改操作的时候,能够根据值自动匹配

使用了setValue()方法,
现在的问题是,页面第一次进入的时候,文本框中显示的是 valueField的值,不是displayField中对应的文本.

但是以后的显示都是正常的(只要不重新刷新页面)

 

原因在一开头没有focus就return了

查了一下ComboBox的源码,其中onLoad事件是这样写的:
onLoad : function(){
        if(!this.hasFocus){
            return;
        }

 

需要扩展下就可以解决这个问题.

代码如下:
Ext.namespace('ux'); 
Ext.ux.DefaultingComboBox = function(config) { 
    Ext.ux.DefaultingComboBox.superclass.constructor.call(this, config); 
}; 
 
Ext.extend(Ext.ux.DefaultingComboBox, Ext.form.ComboBox, { 
    setValue : function(v) { 
        // 如果远程数据还没有加载,在设值之前先加载一次  
        if (this.mode == 'remote' && this.store.getCount() == 0) { 
            this.store.on("load", function() { 
                Ext.ux.DefaultingComboBox.superclass.setValue.call(this, v); 
            }, this, { 
                single : true 
            }); 
            this.doQuery(this.allQuery, true); 
        } else { 
            Ext.ux.DefaultingComboBox.superclass.setValue.call(this, v); 
        } 
    } 
});

使用方法:

将代码复制到你的js中,combo不需要修改,只需要写成如下就可以解决问题.

new Ext.ux.DefaultingComboBox({
            xtype : 'combo',
            fieldLabel : '车牌号码',
            allowBlank : false,
            triggerAction : 'all',
            forceSelection : true,
            store : clbmStore,
            id : 'clmc',
            //mode : 'local',//不能使用mode=local
            lazyRender :true,
            readOnly : true,
            loadingText : '正在加载中...',
            valueField : "dm",
            hiddenName : 'pbp.clbm',
            displayField : "mc",
            emptyText : '请选择...',
            name : 'pbp.clbm',
            anchor : '95%'
        }),

分享到:
评论

相关推荐

    ComboBox列问题代码

    总结起来,解决Silverlight DataGrid中ComboBox列无法在编辑模式下默认选中值的问题,关键在于监听DataGrid的编辑事件或ComboBox的加载事件,并根据当前行的数据设置ComboBox的选中项。通过这样的代码调整,我们可以...

    TcxCheckComboBox初始值

    在这个问题中,我们关注的是如何设置`TcxCheckComboBox`的初始值,即在程序运行时,控件显示的默认选中项或状态。以下是对`TcxCheckComboBox`初始值的详细解释。 首先,我们需要了解`TcxCheckComboBox`的基本结构。...

    DataGridView控件中加入ComboBox下拉列表框

    4. **事件处理**:可能需要监听`EditingControlShowing`事件,以便在用户开始编辑时设置`ComboBox`的初始值,并在`ValueChanged`事件中处理用户的选定值。 ```csharp dataGridView.EditingControlShowing += ...

    extjs editgrid combobox 回显

    1. **初始化`ComboBox`**:在`ColumnModel`的`editor`属性中,创建一个`ComboBox`实例,并正确设置`valueField`和`displayField`属性。同时,确保`ComboBox`的`store`属性绑定到适当的数据存储。 2. **配置`...

    easyui中combobox后台交互实例

    EasyUI的Combobox组件是一个具有输入框和下拉列表的控件,它允许用户从预定义的选项中选择或者手动输入值。Combobox提供了丰富的配置项和事件,使得在Web应用中创建交互式下拉列表变得简单易行。 **Combobox基本...

    combobox的使用技巧

    可以使用`ComboBox.SelectedIndex`或`ComboBox.SelectedItem`属性设置初始选中项。 综上所述,掌握这些Combobox的使用技巧,能帮助你创建更加高效、用户友好的应用程序。在实际编程中,应根据项目需求灵活运用这些...

    jquery-combobox完美版,修复默认选择,滚动后无法关闭等问题

    1. **修复默认选择**:我们检查了初始化代码,确保在创建Combobox时正确设置默认选中的项。这可能涉及到了DOM元素的遍历以及与数据源的匹配。同时,我们也添加了异常处理机制,以防数据源未定义或格式不正确时,仍能...

    QML ComboBox 演示

    可以通过设置`currentIndex`属性来指定初始选中的选项。例如,如果要将“Option 2”作为默认选项,可以写为: ```qml currentIndex: 1 ``` 4. **自定义样式**: QML允许通过CSS样式的QML版(Declarative Style...

    jQuery EasyUI编辑DataGrid用combobox实现多级联动

    - 为避免不必要的请求,可以在初始加载时就加载第一级combobox的全部数据,而第二级则在用户做出选择后动态加载。 - 在实际项目中,可能需要考虑异步加载数据和处理网络延迟问题,确保用户体验流畅。 通过以上...

    comboBox控件用户名保存方法

    #### 初始化与加载事件 在给定的代码片段中,首先定义了一个名为`Form1`的窗体类,其中包含了`comboBox1`和`button1`两个控件。在窗体的`Load`事件处理程序中,程序首先检查存储用户名称的配置文件是否存在(本例...

    Jquery ComboBox

    接下来,你可以用以下代码初始化ComboBox: ```javascript $("#myComboBox").combobox(); ``` **jQuery ComboBox 的特性** 1. **可搜索**:用户可以通过输入部分文本快速查找并选择所需选项。 2. **自定义样式**...

    ComBoBox动态实例asp+zip

    ComboBox控件是一种常见的用户界面元素,它结合了下拉列表和文本输入框的功能,用户既可以手动输入值,也可以从预定义的列表中选择。在ASP中,我们通常会用到VBScript或JScript来处理ComboBox的动态加载。 首先,让...

    domino xpags开发combobox默认空值

    综上所述,实现Domino XPAGS中Combobox默认空值的关键在于创建包含空值的选项数组,并在页面加载时正确设置Combobox的初始值。通过理解上述知识点和代码逻辑,我们可以有效地在应用程序中实现这一功能。

    extjs的ComboBox 2级联动

    ComboBox由几个关键部分组成,包括store(数据存储)、displayField(显示字段)和valueField(值字段)。Store用于存储选项数据,displayField定义了在下拉列表中显示的字段,而valueField则标识选中项的唯一标识。...

    DataGridView+ComboBox

    这通常会涉及事件处理,如`EditingControlShowing`事件,用于在单元格进入编辑模式时设置`ComboBox`的初始值。 此外,我们还需要考虑一些实际应用中的细节,比如数据验证(确保用户选择了有效的值)、自定义项...

    WPF和Prism实现ComboBox省市县三级级联

    ComboBox是一种下拉列表框,用户可以从中选择一个项目或输入自己的值。要实现三级级联,我们将在每个ComboBox中填充对应级别的数据,如省份、城市和县,当用户在上级ComboBox中做出选择时,下级ComboBox会自动更新其...

    jQuery ui Combobox 扩展

    3. **初始化组件**:使用jQuery选择器找到`<select>`元素并调用`.combobox()`方法。 ```javascript $(function() { $("#myComboBox").combobox(); }); ``` 4. **配置与事件**:可以通过传递对象参数来配置...

    ComboBox实现的颜色选择框

    - 初始化颜色列表,每个颜色项包含颜色值和显示文本。 - 创建并设置`ColorComboBox`的属性,如`DrawMode`设置为`OwnerDrawFixed`,以便我们自定义绘制。 - 重写`OnDrawItem`事件,绘制颜色矩形和文本。 - 绑定数据源...

    VC中ComboBox使用详解

    #### 二、初始化与填充ComboBox 1. **初始化ComboBox:** 在使用 `ComboBox` 控件之前,首先需要确保其被正确地添加到窗体上,并通过资源ID与代码关联起来。可以通过在对话框编辑器中添加 `ComboBox` 控件并设置其...

    ComboBox 自动调整组合框下拉部分的宽度

    1. **获取所有下拉项的最大宽度**:遍历`ComboBox`的所有项目,并计算每个项目的文本宽度,取其中的最大值作为下拉列表的最大宽度。 2. **设置`ComboBox`的`DropDownWidth`属性**:将计算得到的最大宽度赋值给`...

Global site tag (gtag.js) - Google Analytics