Ext.form.ComboBox编辑页面显示值问题

     最近用EXTJS 3.0开发项目,页面form表单中使用了ComboBox,

 var _typestore = new Ext.data.Store({
                    proxy : new Ext.data.HttpProxy({url:'basecodeType!getJson.action'}),
                    reader: new Ext.data.JsonReader({
                        root: 'records',
                        totalProperty: 'totalCount',
                        id: 'basecodeTypeid',
                        fields: [
                            {name: 'basecodeTypeid'},
                            {name: 'name'}
                        ]
                    }),
                    remoteSort: true                    
                });
                 _typestore.load({params:{start:0,limit:6,sort:'basecodeTypeid',dir:'desc'}});

                var _type=new Ext.form.ComboBox({
                    id:'basecodetype',
                    fieldLabel: '辅助编码类型',
                    name: 'basecode.basecodetype.basecodeTypeid',
                    hiddenName :'basecode.basecodetype.basecodeTypeid',
                    editable:false,//默认true,禁止手写和联想功能
                    typeAhead: true,
                    triggerAction: 'all',
                    lazyRender:true,
                    mode: 'remote',//指定数据加载方式:remote服务器,local客户端
                    emptyText:'--请选择--',
                    width: 210,
                    store: _typestore,
                    valueField:'basecodeTypeid' ,
                    displayField: 'name',
                    pageSize:6
                });
 

 

如何 在进入编辑页面的时候能显示后台传来的值?测试了三种方法均通过,现将其总结如下:

第一种:在_typestore中添加

listeners :{
                        load:function(){
                            Ext.getCmp('basecodetype').setValue(${basecode.basecodetype.basecodeTypeid});
                        }
                    }

 第二种:添加

 _type.on('afterrender',function(){
                   
                    Ext.get('basecodetype').dom.value='<s:property value="basecode.basecodetype.name"/>';
                    Ext.get('basecode.basecodetype.basecodeTypeid').dom.value='<s:property value="basecode.basecodetype.basecodeTypeid"/>';
                });

 注意:'basecodetype'对应ComboBox的id;

          'basecode.basecodetype.basecodeTypeid'对应ComboBox的hiddenName

第三种,所在表单form渲染后,可以不用放在事件里,而是直接添加

 Ext.get('basecodetype').dom.value='<s:property value="basecode.basecodetype.name"/>';
                    Ext.get('basecode.basecodetype.basecodeTypeid').dom.value='<s:property value="basecode.basecodetype.basecodeTypeid"/>';
               

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值