`
kidiaoer
  • 浏览: 821993 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

EditorGridPanel中ComboBox显示问题?

EXT 
阅读更多
function getConsumerUnit(value){ 
    var rd = houFct.EmptyStore.getAt(0); 
    if(rd){ 
        return rd ? rd.get('unitName') : '请选择..';  
    }; 
    if(houFct.get('consumerGrid').getGrid().store.getAt(0)){ 
        var rowIndex = houFct.get('consumerGrid').getGrid().store.find("consumerUnitID",value); 
        if(rowIndex<0) return;   
        var record = houFct.get('consumerGrid').getGrid().store.getAt(rowIndex); 
        Ext.getCmp('risen-consumerUnitID').setValue(record.get('unitName')); 
        return record ? record.get('unitName') : '';   
    } 
}; 
 

            dataIndex : 'consumerUnitID', 
            header : '人员单位', width : 160, 
            renderer : getConsumerUnit, 
            editor : new Ext.form.ComboBox({ 
                id : 'risen-consumerUnitID', 
                hiddenName : 'consumerUnitID', 
                valueField : 'consumerUnitID',  
                displayField : 'unitName', 
                editable : false, 
                mode:'remote', 
                store : houFct.EmptyStore, 
                onTriggerClick : function(){ 
                    Risen.CmpMgr.popWindow(houFct.get('HouConsumerUnitTabPanel')); 
                }, 
                listeners : { 
                    focus : function(cbx){ 
                        //这里的得到焦点分两种情况:一种是点击Grid的时候获得焦点,另一种是选择了树节点或获取焦点的情况 
                        //有两种情况就要建立一种通讯机制,什么时候改赋值;什么时候不该赋值.这里用一个标志位(flag)来判断着两种情况. 
                        if(houFct.get('flag')){ 
                            houFct.setCombo(Ext.getCmp('risen-consumerUnitID').id, houFct.get('record')); 
                            houFct.put('flag', false); 
                        } 
                    } 
                } 
            }) 
        } 


问题是处在EditorGridPanel中放ComboBox.renderer参数我只能控制我展示给用户看的.的却renderer能做到这点.我这里的问题是我点击cell后ComboBox显示的是valueField(感觉dataIndex是什么,ComboBox就显示什么,比如我这里dataIndex显示的是ID, ComboBox就是显示的ID;dataIndex显示name,ComboBox就显示name.我这里dataIndex显示的是id,但是我renderer过后让其显示的name,但ComboBox显示的还是ID,貌似,我renderer的时候也将ComboBox的值设置...试试看)
问题补充:
Java代码
function getConsumerUnit(value){ 
    var rd = houFct.EmptyStore.getAt(0); 
    if(rd){ 
        return rd ? rd.get('unitName') : '请选择..';  
    }; 
    if(houFct.get('consumerGrid').getGrid().store.getAt(0)){ 
        var rowIndex = houFct.get('consumerGrid').getGrid().store.find("consumerUnitID",value); 
        if(rowIndex<0) return;   
        var record = houFct.get('consumerGrid').getGrid().store.getAt(rowIndex); 
        Ext.getCmp('risen-consumerUnitID').setValue(record.get('unitName')); 
        return record ? record.get('unitName') : '';   
    } 
}; 
 

            dataIndex : 'consumerUnitID', 
            header : '人员单位', width : 160, 
            renderer : getConsumerUnit, 
            editor : new Ext.form.ComboBox({ 
                id : 'risen-consumerUnitID', 
                hiddenName : 'consumerUnitID', 
                valueField : 'consumerUnitID',  
                displayField : 'unitName', 
                editable : false, 
                mode:'remote', 
                store : houFct.EmptyStore, 
                onTriggerClick : function(){ 
                    Risen.CmpMgr.popWindow(houFct.get('HouConsumerUnitTabPanel')); 
                }, 
                listeners : { 
                    focus : function(cbx){ 
                        //这里的得到焦点分两种情况:一种是点击Grid的时候获得焦点,另一种是选择了树节点或获取焦点的情况 
                        //有两种情况就要建立一种通讯机制,什么时候改赋值;什么时候不该赋值.这里用一个标志位(flag)来判断着两种情况. 
                        if(houFct.get('flag')){ 
                            houFct.setCombo(Ext.getCmp('risen-consumerUnitID').id, houFct.get('record')); 
                            houFct.put('flag', false); 
                        } 
                    } 
                } 
            }) 
        } 


问题是处在EditorGridPanel中放ComboBox.renderer参数我只能控制我展示给用户看的.的却renderer能做到这点.我这里的问题是我点击cell后ComboBox显示的是valueField(感觉dataIndex是什么,ComboBox就显示什么,比如我这里dataIndex显示的是ID, ComboBox就是显示的ID;dataIndex显示name,ComboBox就显示name.我这里dataIndex显示的是id,但是我renderer过后让其显示的name,但ComboBox显示的还是ID,貌似,我renderer的时候也将ComboBox的值设置...试试看)
问题补充:
Java代码
function getConsumerUnit(value){ 
    var rd = houFct.EmptyStore.getAt(0); 
    if(rd){ 
        return rd ? rd.get('unitName') : '请选择..';  
    }; 
    if(houFct.get('consumerGrid').getGrid().store.getAt(0)){ 
        var rowIndex = houFct.get('consumerGrid').getGrid().store.find("consumerUnitID",value); 
        if(rowIndex<0) return;   
        var record = houFct.get('consumerGrid').getGrid().store.getAt(rowIndex); 
        Ext.getCmp('risen-consumerUnitID').setValue(record.get('unitName')); 
        return record ? record.get('unitName') : '';   
    } 
}; 
 

            dataIndex : 'consumerUnitID', 
            header : '人员单位', width : 160, 
            renderer : getConsumerUnit, 
            editor : new Ext.form.ComboBox({ 
                id : 'risen-consumerUnitID', 
                hiddenName : 'consumerUnitID', 
                valueField : 'consumerUnitID',  
                displayField : 'unitName', 
                editable : false, 
                mode:'remote', 
                store : houFct.EmptyStore, 
                onTriggerClick : function(){ 
                    Risen.CmpMgr.popWindow(houFct.get('HouConsumerUnitTabPanel')); 
                }, 
                listeners : { 
                    focus : function(cbx){ 
                        //这里的得到焦点分两种情况:一种是点击Grid的时候获得焦点,另一种是选择了树节点或获取焦点的情况 
                        //有两种情况就要建立一种通讯机制,什么时候改赋值;什么时候不该赋值.这里用一个标志位(flag)来判断着两种情况. 
                        if(houFct.get('flag')){ 
                            houFct.setCombo(Ext.getCmp('risen-consumerUnitID').id, houFct.get('record')); 
                            houFct.put('flag', false); 
                        } 
                    } 
                } 
            }) 
        } 


问题是处在EditorGridPanel中放ComboBox.renderer参数我只能控制我展示给用户看的.的却renderer能做到这点.我这里的问题是我点击cell后ComboBox显示的是valueField(感觉dataIndex是什么,ComboBox就显示什么,比如我这里dataIndex显示的是ID, ComboBox就是显示的ID;dataIndex显示name,ComboBox就显示name.我这里dataIndex显示的是id,但是我renderer过后让其显示的name,但ComboBox显示的还是ID,貌似,我renderer的时候也将ComboBox的值设置...试试看)
问题补充:
Java代码
function getConsumerUnit(value){ 
    var rd = houFct.EmptyStore.getAt(0); 
    if(rd){ 
        return rd ? rd.get('unitName') : '请选择..';  
    }; 
    if(houFct.get('consumerGrid').getGrid().store.getAt(0)){ 
        var rowIndex = houFct.get('consumerGrid').getGrid().store.find("consumerUnitID",value); 
        if(rowIndex<0) return;   
        var record = houFct.get('consumerGrid').getGrid().store.getAt(rowIndex); 
        Ext.getCmp('risen-consumerUnitID').setValue(record.get('unitName')); 
        return record ? record.get('unitName') : '';   
    } 
}; 
 

            dataIndex : 'consumerUnitID', 
            header : '人员单位', width : 160, 
            renderer : getConsumerUnit, 
            editor : new Ext.form.ComboBox({ 
                id : 'risen-consumerUnitID', 
                hiddenName : 'consumerUnitID', 
                valueField : 'consumerUnitID',  
                displayField : 'unitName', 
                editable : false, 
                mode:'remote', 
                store : houFct.EmptyStore, 
                onTriggerClick : function(){ 
                    Risen.CmpMgr.popWindow(houFct.get('HouConsumerUnitTabPanel')); 
                }, 
                listeners : { 
                    focus : function(cbx){ 
                        //这里的得到焦点分两种情况:一种是点击Grid的时候获得焦点,另一种是选择了树节点或获取焦点的情况 
                        //有两种情况就要建立一种通讯机制,什么时候改赋值;什么时候不该赋值.这里用一个标志位(flag)来判断着两种情况. 
                        if(houFct.get('flag')){ 
                            houFct.setCombo(Ext.getCmp('risen-consumerUnitID').id, houFct.get('record')); 
                            houFct.put('flag', false); 
                        } 
                    } 
                } 
            }) 
        } 


问题是处在EditorGridPanel中放ComboBox.renderer参数我只能控制我展示给用户看的.的却renderer能做到这点.我这里的问题是我点击cell后ComboBox显示的是valueField(感觉dataIndex是什么,ComboBox就显示什么,比如我这里dataIndex显示的是ID, ComboBox就是显示的ID;dataIndex显示name,ComboBox就显示name.我这里dataIndex显示的是id,但是我renderer过后让其显示的name,但ComboBox显示的还是ID,貌似,我renderer的时候也将ComboBox的值设置...试试看)
分享到:
评论

相关推荐

    Extjs EditorGridPanel中ComboBox列的显示问题

    为了解决这个问题需要在EditorGridPanel的ColumnModel中显示ComboBox的地方使用renderer属性,重新渲染,方法如下: 代码如下: //部门列表 var comboxDepartmentStore = new Ext.data.Store({ proxy: new Ext.data....

    可编辑表格Ext.grid.EditorGridPanel

    Ext.grid.EditorGridPanel是Ext JS库中的一个组件,主要用于创建具有可编辑单元格的表格。这个组件在数据展示和编辑方面提供了丰富的功能,是构建数据密集型应用的理想选择。下面将详细阐述其特点、工作原理及如何...

    extjs中grid中嵌入动态combobox的应用

    6. **renderer函数**: 这个函数用于在Grid中显示ComboBox的选择值。当ComboBox的值被修改时,它会查找对应的`display`字段的值,并显示在Grid中。如果找不到匹配的记录,则默认显示选中的`id`值。 7. **...

    ExtJS下拉列表树控件

    对于ExtJS EditorGridPanel中ComboBox列的显示问题,可能是因为数据没有正确绑定或格式化问题,确保`store`已加载数据,并且在`renderer`函数中正确显示数据。 至于回显问题,即在编辑时显示已有的数据,需要确保在...

    Ext TreePanel

    通过在列配置中指定`editor`属性,我们可以为每个单元格添加编辑器,例如`TextField`、`ComboBox`等,使得用户可以直接在网格中修改数据。编辑时,`EditorGridPanel`会使用这些编辑器来控制用户的输入,并在用户完成...

    Ext组件说明 Ext组件概述

    ComboBox组件结合了文本框和下拉列表的功能,用户可以在文本框中输入或从下拉列表中选择值。 ##### 3. **DateField(日期字段)** DateField组件专为输入和选择日期而设计,通常与DatePicker组件结合使用。 #####...

    ext的edittreegrid实现

    而EditorGridPanel则允许用户对表格中的数据进行直接编辑,通常通过单击单元格来激活编辑模式。Edit Tree Grid是这两者的组合,提供了一种混合的界面,用户可以在树形结构的节点上直接编辑属性。 实现Edit Tree ...

    EXTJS 学习笔片段1

    EditorGridPanel 使用本地store Toolbar工具菜单创建 分页工具栏创建 Window 弹出处理window窗口(模态窗口) MessageBox show(报错窗口、保存提示、选择窗口) alert prompt 实用工具类 JS异常捕捉 Ajax...

    extjs控件列表

    - **用途**: 在长时间运行的任务中显示完成百分比,增强用户体验。 **Ext.StatusBar** - **描述**: 底部状态栏,用于显示系统或应用的状态信息。 - **用途**: 常见于应用程序底部,显示操作结果、系统状态等。 **...

    extjs的快速入门教程

    - **可编辑的表格(EditorGridPanel)**: - 在表格的基础上增加了编辑功能,用户可以直接修改数据。 #### 七、与服务器交互 - **数据存储(Store)**: - 存储和管理数据集,支持本地数据和远程数据加载。 - **...

    ext学习之路

    在页面完全加载后,通常会调用`Ext.onReady`函数,确保ExtJS在DOM完全就绪后执行,避免了元素未加载完成的问题。 #### 组件库详解 ExtJS的核心优势在于其丰富的组件库,几乎涵盖了Web应用开发的所有需求: - **...

    ExtJs组件类的对应表

    11. **`editorgrid`** - `Ext.grid.EditorGridPanel`,可编辑的表格组件,允许用户直接在表格中编辑数据。 12. **`propertygrid`** - `Ext.grid.PropertyGrid`,属性表格组件,用于展示对象的属性。 13. **`...

    ExtJs xtype一览

    - **`editorgrid` (Ext.grid.EditorGridPanel)**: 可编辑的表格组件,允许用户直接在表格内进行数据编辑。 - **`propertygrid` (Ext.grid.PropertyGrid)**: 属性表格组件,专门用于展示对象的属性。 - **`editor` ...

    extJs xtype 类型

    11. **`editorgrid`:** 可编辑的表格组件,允许用户直接在表格中编辑数据,通过`Ext.grid.EditorGridPanel`类实现。 12. **`propertygrid`:** 属性表格组件,用于展示对象的属性列表,通过`Ext.grid.PropertyGrid`...

    ext4.2学习之路

    - **CheckBox**、**ComboBox**、**DateField**、**Field**、**FieldSet**:分别对应复选框、组合框、日期字段、通用字段和字段集,满足不同的表单输入需求。 通过深入理解和掌握Ext JS 4.2的目录结构、核心文件和...

    Ext组件描述,各个组件含义

    - **功能描述**:ComboBox 是一个下拉列表框,用户可以从列表中选择一个值。 - **主要用途**:适用于需要用户从预定义的选项中选择的场景。 **2.19 Date Field (Ext.form.DateField)** - **xtype**: `datefield` -...

    Extjs实用教程

    - **EditorGridPanel**: `Ext.grid.EditorGridPanel`,可编辑的表格组件。 - **GridPanel**: `Ext.grid.GridPanel`,表格组件。 - **PagingToolbar**: `Ext.PagingToolbar`,分页工具栏。 - **Panel**: `Ext....

Global site tag (gtag.js) - Google Analytics