Ext.form.ComboBox and loadRecord

ExtJs修改窗口combobox数据绑定及初始化
在Window 中侦听show
listeners:{
   "show":function()
       {
        EditUserInfoForm.getForm().loadRecord(row);
       }
     }    
窗体加载后ComboBox的值并不能被正确赋值,如下:

可能是ComboBox数据加载在后,loadRecord赋值在前,导致赋值失败,那么侦听下ComboBox数据的加载load事件看看可行,在它的load事件里加上 EditUserInfoForm.getForm().loadRecord(row); 呵呵,果然可以。是一个绑定顺序出了问题。ok.那么在ComboBox的数据加载的load事件里为其赋值typeCombo.setValue(1) 可以吗?测试了下,不行,原因不明。
http://extjs.com/forum/showthread.php?t=42699

items还不能有id属性,有的话,comboobx可能显示不出来,或combobox不能显示对应选择的display值。
1.combobox不能显示对应选择的display值
Ext.form.ComboBox and loadRecord
2.comboobx显示不出来
Ext.form.ComboBox and loadRecord

3.在cmb数据加载是窗体初始化,同时去掉combobox的id属性后即可
Ext.form.ComboBox and loadRecord

部分代码如下:

  var  EditUserRoleFields  =  Ext.data.Record.create([      
        {name: 
' roleid ' ,mapping: ' roleid ' },{name:  ' rolename ' ,mapping: ' rolename ' },{name: ' roledesc ' ,mapping: ' roledesc ' }                     
    ]);    
    
   
var   EditUserRoleStore  =   new  Ext.data.Store({      
        proxy: 
new  Ext.data.HttpProxy({      
            url:
' DATA/RoleInfo/GetRoleInfo.aspx '   
        }),      
        reader: 
new  Ext.data.JsonReader({      
            root: 
' data ' ,      
            id: 
' roleid '      
        },
        EditUserRoleFields 
        )      
    });
    EditUserRoleStore.on(
' load ' ,
                             
function ()
                             {                             
                                 EditUserInfoForm.getForm().loadRecord(row); 
                             } 
                          )  
    EditUserRoleStore.load();
    
 
var  EditUserInfoForm = new  Ext.form.FormPanel({
            width:
315 ,
            height:
270 ,
            plain:
true ,
            layout:
" form " ,
            defaultType:
" textfield " ,
            labelWidth:
45 ,
            baseCls:
" x-plain " ,
            defaults:{anchor:
" 95% " ,msgTarget: " side " },
            buttonAlign:
" center " ,
            bodyStyle:
" padding:0 0 0 0 " ,
            items:[   
            {
                    name:
" userid " ,
                    fieldLabel:
" 帐号 " ,
                    allowBlank:
false ,
                    blankText:
" 帐号不允许为空 "
            },{
                    name:
" userpwd " ,
                    fieldLabel:
" 密码 " ,
                    allowBlank:
false ,
                    blankText:
" 密码不能为空 " ,
                    inputType:
" password "
            },{
                    name:
" username " ,
                    fieldLabel:
" 称谓 " ,
                    allowBlank:
false ,
                    blankText:
" 称呼不能为空 " ,
                    regex:
/ ^[\s\S]{1,10}$ / ,
                    regexText:
" 昵称请不要超过10个字符 "
            },{     
                    
                    name:
" userstate " ,
                    xtype:
" combo " ,
                    fieldLabel:
" 状态 " ,
                    editable: 
false ,
                    typeAhead: 
true ,
                    
// 传入后台真实值value field /value
                    hiddenName: " userstate " ,
                    mode:
" local " ,
                    displayField:
" show " ,
                    valueField:
" value " ,
                    triggerAction:
" all " ,
                    value:
" 0 " ,
                    store:
new  Ext.data.SimpleStore({
                        fields:[
" show " , " value " ],
                        data:[[
" 正常 " , " 0 " ],[ " 禁用 " , " 1 " ]]
                    })
            },{               
                    xtype:
" combo " ,
                    tpl: 
' <tpl for="."><div ext:qtip="{rolename}. {roledesc}" class="x-combo-list-item">{rolename}</div></tpl> ' ,
                    store: EditUserRoleStore,
                    typeAhead: 
true ,
                    fieldLabel:
' 角色 ' ,
                    hiddenName:
' roleid ' ,
                    name:
' roleid ' ,
                   
//  id:'roleid',
                    forceSelection:  true ,
                    triggerAction: 
' all ' ,
                    emptyText:
' 选择角色类型 ' ,
                    selectOnFocus:
true ,
                    width:
130 ,
                    editable: 
false
                    allowBlank:
false
                    blankText:
' 请选择角色类型 '
                    displayField:
' rolename ' ,
                    valueField: 
' roleid ' ,
                    mode: 
' remote '                    
            }            
            ]});

 

你可能感兴趣的:(combobox)