Показать сообщение отдельно
  #2 (permalink)  
Старый 09.07.2014, 15:52
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

Через myPropertyGrid.setSource(). Составил для вас наглядный пример:

https://fiddle.sencha.com/fiddle/7h8

var grid = Ext.create('Ext.grid.property.Grid', {
    title: 'Properties Grid',
    width: 300,
    renderTo: Ext.getBody()
});


var store = Ext.create('Ext.data.Store', {
    fields: ['name', "value"],
    proxy: {
        type: 'memory'
    },
    listeners: {
        refresh: function(store) {
    		var source = {};
    		store.each(function(record) {
        		source[record.get('name')] = record.get('value');
    		});
    		grid.setSource(source);
		}
    }
});

store.loadRawData([
    {
        name: "MyParameter",
        value: "MyValue"
    },
    {
        name: "Available",
        value: false
    }
]);


В рамках MVC обработчик события стора нужно будет переместить в контроллер грида. И, конечно, поменять название события с refresh на load.

Последний раз редактировалось novikov, 09.07.2014 в 15:58.
Ответить с цитированием