Показать сообщение отдельно
  #1 (permalink)  
Старый 15.04.2013, 15:57
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

combobox в grid'е
есть грид. получаю фокус combobox'са и вместо значения (name) у меня показывает айдишник. после того как выберу элемент из списка, то дальше работает нормально. как при получения фокуса выводил сразу (name) а не id
var store_combo;
var store;
Ext.onReady(function(){
//-------------------
var getStore = function(URL, FIELDS)
    {
    return Ext.create('Ext.data.Store',
	{
	fields: FIELDS,
	idProperty: 'id',
	proxy:
	    {
	    type: 'ajax',
	    url: URL,
	    actionMethods:
		{
		read: 'POST'
		},
	    reader:
		{
		root: 'data',
		totalProperty: 'totalCount'
		}
	    },
	autoLoad: true
	});
    }
//-------------------

store_combo = getStore(
    'get/statuswork', 
    ['id', 'name']);
    
store = getStore(
    'get/work?project_id=3', 
    ['id', 'name', 'status_id']);

//-------------------
Ext.create('Ext.panel.Panel',
    {
    items: [
	{
	xtype: 'grid',
	store: store,
	columns: [
	    {
	    text: 'column',
	    dataIndex: 'status_id',
	    renderer: function(id)
		{
		var index = store_combo.find("id", id);
		return (index == -1) ? '' : store_combo.getAt(store_combo.find("id", id)).get('name');
		},
	    editor: Ext.create('Ext.form.field.ComboBox',
		{
		store: store_combo,
		hideLabel: true,
		queryMode: 'local',
		displayField: 'name',
		valueField: 'id'
		})
	    }],
	plugins: [Ext.create('Ext.grid.plugin.CellEditing', {clicksToEdit: 1})]
	}],
    renderTo: Ext.getBody()
    });
//-------------------
});
Ответить с цитированием