Ext combobox设置valueField问题!

comboBox是动态的,二级联动的.由于业务需要,在加载页面时一定要选中从后台取出的其中一条数据(已实现),但是
setValue()设置的是displayField 的值,我想问怎么动态设置valueField 的值..急..!!!
[code="java"] swjgStore = new Ext.data.Store({
url : 'getSwjgComboBoxValuePeccancyRecord.action',
reader : new Ext.data.JsonReader({
root : 'swjgRows'
}, Ext.data.Record.create([{
name : 'orgId'
}, {
name : 'name'
}]))
});
swjgStore.load();
var swjgCombo = new Ext.form.ComboBox({
store : swjgStore,
fieldLabel : '税务机关',
displayField : 'name',
labelStyle : "text-align:left;width:60;",
anchor : '90%',
hiddenName:'orgId',
typeAhead : true,
valueField : 'orgId',
editable : false,
forceSelection : true,
triggerAction : 'all',
selectOnFocus : true
});

swjgStore.on('load', function() {
            var swjgComboValue = swjgStore.getAt(0);
            swjgCombo.setValue(swjgComboValue.get('name'));


        });

var sgyStore = new Ext.data.Store({
            url : 'getSgyComboBoxValuePeccancyRecord.action',
            reader : new Ext.data.JsonReader({
                        root : 'sgyRows'

                    }, Ext.data.Record.create([{
                                name : 'code'
                            }, {
                                name : 'name'
                            }]))
        });
sgyStore.on("beforeload", function(store, options) {
            var swjgId = swjgCombo.getValue();
            var new_params = {
                swjg : swjgId
            };
            Ext.apply(options.params, new_params);
            baseParams : {
                swjgId : swjgId
            }

        });
swjgCombo.on('select', function() {
            sgyCombo.clearValue();
            sgyStore.load({});
        });

var sgyCombo = new Ext.form.ComboBox({
            store : sgyStore,
            fieldLabel : '税管员',
            displayField : 'name',
            valueField : 'code',
            typeAhead : true,
            editable : false,
            forceSelection : true,
            triggerAction : 'all',
            emptyText : '请选择...',
            selectOnFocus : true,
            labelStyle : "text-align:left;width:60;",
            anchor : '90%'
        });

[/code]

提交到后台的值是

hiddenName属性设置的值。 切记!!!

给你个参考
[code="java"]var alertLevel = new Ext.form.ComboBox( {
id:'cmb_alertLevel',
hiddenName:"level", //提交到后台的input的name
store: new Ext.data.SimpleStore({
fields: ['myId', 'displayText'],
data: [['0', 'Emergency'], ['1','Alert'],
['2','Critical'],['3','Error'],
['4','Warning'],['5','Notice'],
['6','Informational'],['7','Debug']]
}),
valueField: 'myId', //option.value
displayField: 'displayText', //option.text
typeAhead : true,
triggerAction : 'all',
emptyText : '所有',
mode: 'local',
applyTo : 'alertLevel'
});[/code]

[quote]重要属性设置 hiddenName:'level'。 [/quote]
后台直接通过 String alertLevel = request.getParameter("level");获取值

添加
[code="java"]swjgCombo.setRawValue(swjgComboValue.get('name'));[/code]

试一试

roleinfo_ds = new Ext.data.Store({
//autoLoad : true,
//baseParams : {
// start:0,
// limit:1000
//},
proxy: new Ext.data.HttpProxy({url:"<%=path%>/roleInfoAction.do?method=getAllRoleInfo"}),

reader: new Ext.data.JsonReader({
root:'roleInfoList',
totalProperty : 'roleInfoTotal'

},
[
{name: 'id',mapping: 'id',type: 'int'},
{name: 'roleCode',mapping: 'roleCode',type: 'string'},
{name: 'name',mapping: 'name',type: 'string'}
])
});

        roleinfo_ds.load({params:{start:0, limit:1000}});

        roleinfo_cmb = new Ext.form.ComboBox({
            id:'customservice_query_roleCode',
            name:'customservice_query_roleCode',
            fieldLabel: '角色名称',
            width:80,
            xtype:'combo',
            typeAhead: true,
            //readOnly:true,
            store:roleinfo_ds,
            loadingText: '',                
            valueField: 'id',
            displayField:'name',
            mode: 'remote',
            triggerAction: 'all',
            editable:false,
            emptyText: '所有',
            selectOnFocus:true,
            forceSelection: true,
            value: '',
            resizable:true
        });

不是很明白你想要做什么,是不是打开页面时就选中swjg的第一个选项,然后sgyCombo也要跟着联动?

如果是这样的话,那试试这样
[code="java"]

swjgStore.on('load', function() {

var swjgComboValue = swjgStore.getAt(0);

swjgCombo.setValue(swjgComboValue.get('orgId'));

         swjgCombo.fireEvent('select', swjgCombo, swjgComboValue , 0);    
      }); 

[/code]