У меня есть панель сетки редактора с 2 полями. Исходя из 1-го поля, второе поле должно измениться на комбинированный список с дополнительными параметрами. Для этого необходимо получить значение 1-го поля во время выполнения, чтобы запустить запрос для второго поля.
Код работает нормально и получает данные. Но даже когда упомянутая ширина составляет 350 для второго поля, поле со списком, которое появляется, очень мало и не может быть прочитано. Даже выпадающего не видно. Я тоже попробовал свойство ListWidth .. но без изменений в выводе.
Это потому, что изначально поле со списком пусто, и я использую свойство beforequery, чтобы изменить URL с полем id, чтобы поле со списком не получало данные? Но я не вижу никаких ошибок в firebug.
У меня есть следующий код:
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
}
})
}
Пожалуйста, помогите мне с этой проблемой.
Заранее спасибо.