Показать сообщение отдельно
  #1 (permalink)  
Старый 18.06.2012, 15:58
Новичок на форуме
Отправить личное сообщение для evgen.matyaschuk Посмотреть профиль Найти все сообщения от evgen.matyaschuk
 
Регистрация: 17.08.2011
Сообщений: 5

Ext grid combobox json
Всем привет.

Есть вот такое

<div id="main-data-grid" class="main-data-grid"></div>
<script type="text/javascript">
		Ext.onReady(function() {

			//Model
			Ext.define('Model', {
				extend: 'Ext.data.Model',
				fields: ['id', 'combo'],
				proxy: {
					url: '',
					type: 'ajax',
					extraParams: {
						'_method': 'get',
						'params[class]': 'data'
					},
					reader: {
						root: 'data'
					}
				}
				/*
					ответ сервера
					{
						success: 1,
						message: "Data loaded success.",
						data: [
							{
								id: "1",
								combo: "2",
								relation: {
									combo: {
										id: "2",
										name: "combo 2"
									}
								}
							}
						]
					}
				*/
			});

			Ext.define('ComboModel', {
				extend: 'Ext.data.Model',
				fields: ['id', 'name'],
				proxy: {
					url: '',
					type: 'ajax',
					extraParams: {
						'_method': 'get',
						'params[class]': 'comboData'
					}
				},
				reader: {
					root: 'data'
				}
				/*
					ответ сервера
					{
						success: 1,
						message: "Data loaded success.",
						data: [
							{
								id: "1",
								name: "combo 1"
							},
							{
								id: "2",
								name: "combo 2"
							}
						]
					}
				*/
			});

			//Store
			var store = Ext.create('Ext.data.Store', {
				model: 'Model',
				autoLoad: true
			});

			var comboStore = Ext.create('Ext.data.Store', {
				model: 'ComboModel'
			});

			//Grid
			Ext.create('Ext.grid.Panel', {
				plugins: [
					Ext.create('Ext.grid.plugin.CellEditing', {
						clicksToEdit: 2
					})
				],

				renderTo: Ext.getDom('main-data-grid'),
				store: store,
				columns: [
					{
						dataIndex: 'id',
						hidden: true,
						hideable: false
					},
					{
						header: 'Combo',
						dataIndex: 'combo',
						editor: { //проблема здесь, при 2 клике шлеться запрос на сервер, 
							xtype: 'combo', //получаем данные описанные выше в виде коментария под reader в ComboModel
							store: comboStore, //при этом выпадающий список пустой, в него эти данные не подгружаються
							displayField:'name'
						},
						renderer: function(val, cell, doc, idx) { //вместо 2 выводим "combo 2"
							return doc.raw.relation.combo.name;
						}
					}
				]
			});

		});
	</script>


как все таки заставить combobox выводить данные?
Ответить с цитированием