Показать сообщение отдельно
  #1 (permalink)  
Старый 24.11.2011, 09:36
Новичок на форуме
Отправить личное сообщение для Warlus Посмотреть профиль Найти все сообщения от Warlus
 
Регистрация: 24.11.2011
Сообщений: 4

Отображение связанных данных ( association, ExtJS 4 )
Здравствуйте. Начинаю изучать ExtJS 4, возник следующий вопрос. Пусть имеется две связанных модели данных. Например:

Ext.define('Street.model.AreaModel',{
	extend: 'Ext.data.Model',
	
	fields: [ 'id', 'region_id', 'code', 'name', 'shortName', 'postIndex' ],
	
	proxy: {
		type: 'ajax',
		url: 'data/regions.json',
		reader: {
			type: 'json',
			root: 'areas'
		}
	}
	
	
});

Ext.define('Street.model.TownModel',{
	extend: 'Ext.data.Model',
	
	fields: [ 'id', 'region_id', 'area_id', 'code', 'name', 'shortName', 'postIndex' ],
	
	associations: [

		{ type: 'belongsTo', 
		  model: 'Street.model.AreaModel', 
		  foreignKey: 'area_id', 
		  getterName: 'getArea', 
		  associationKey: 'areas' }

	],
        
        proxy: {
		type: 'ajax',
		url: 'data/regions.json',
		reader: {
			type: 'json',
			root: 'towns'
		}
	}

});


Соответственно вторая модель связана с первой посредством belongsToAssociation. Хотелось бы узнать каким образом нужно создать стораджи, чтобы в Ext.grid.Panel типа такой:

Ext.define('Street.view.town.Grid',{
	extend: 'Ext.grid.Panel',
	alias: 'widget.towngrid',
	
	title: 'Города',
	
	store: 'TownStore',	
	features: [{ ftype: 'grouping' }],	
	
	columns: [
		{ header: 'Код', dataIndex: 'code' },
		{ header: 'Наименование', dataIndex: 'name'},
		{ header: 'Сокр. наименование', dataIndex: 'shortName' },
		{ header: 'Индекс', dataIndex: 'postIndex' },
                { header: 'Район', ???? }

	]
});


в столбец "Район" загрузить связанный данные( напрмер поле name модели AreaModel) по area_id из модели TownModel?

Спасибо за внимание!
Ответить с цитированием