Extjs组合框不显示数据

时间:2011-10-08 12:11:39

标签: extjs combobox width

我有一个编辑器网格面板,有2个字段。基于第一个字段,第二个字段应更改为具有更多选项的组合框。为此,需要在运行时获取第1个字段的值才能触发第二个字段的查询。     代码工作正常并重新获取数据。但即使第二个字段的宽度为350,出现的组合框也很小,无法读取。甚至没有看到下降。我也尝试了ListWidth属性..但输出没有变化。

是不是因为,最初组合框是空的,我正在使用beforequery属性来更改带有id字段的url,这样组合框没有得到数据?但我看不到萤火虫上的任何错误。

我有以下代码:

createGrid= function(e){
    var store= new Ext.data.Store({
        autoLoad: true,
        proxy: new Ext.data.HttpProxy({ url: ..... }) //url to get the data
        reader: new Ext.data.JsonReader({
            root: //the root,
            id: //id,
            sortInfo: {field: 'id', direction: 'ascending' },
            fields: ['id','fields']
        })
    });

    var store2= new Ext.data.store ({ 
        autoLoad: true,
        id: 'store2',
        proxy: new Ext.data.HttpProxy({ url: '  '}) //url 
        reader: new Ect.data.JsonReader({
            root: 'enums','id', fields: ['enum_id','value']
        })
    });


    var cm=new ext.grid.columnModel([
        {id:'id',name:'id',dataIndex: 'id', width: 300},
        {id:'fields', header: 'fields',width: 350, editor: new  Ext.form.ComboBox({
            name: 'combo',
            store: store2,
            width: 350,
            valueField: 'enum_id',
            displayField: 'value',
            listeners: {
                beforequery: function(query){
                    var g_n=Ext.getCmp('grid1');
                    var s_t=g_n.getSelectionModel().getSelections();
                    var record=s_t[0]; 
                    var assign_data=record.get('id');
                    var actionStore=Ext.StoreMgr.get('store2');
                    var action_combobox=Ext.getCmp('combo1');
                    actionStore.proxy.conn.url=' ',//new url which requires the 'id' field
                    actionStore.load();
                    return query;
                }
            }
        })},
    ]);


    return new Ext.grid.EditorGridPanel({
        id: 'grid1',
        store: store,
        cm:cm,
        sm: new Ext.grid.RowSelectionModel ({ singleSelect: true});
        autoExpandableColumn: 'fields',
        listeners: {
            //the other grid listeners
        }
    })
}

请帮我解决这个问题。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

 var store2 = new Ext.data.store(

也许您需要将Ext.data.store替换为Ext.data.StoreExt.data.JsonStore