Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.10.2016, 19:08
Новичок на форуме
Отправить личное сообщение для Capito882 Посмотреть профиль Найти все сообщения от Capito882
 
Регистрация: 13.05.2016
Сообщений: 9

Проблемы с association
Всем привет. Понадобилось отображать данные в гриде из связанного стор/модели.
Делаю все по мануалу, пробовал и reference у поля и hasOne у модели.

Подскажите пожалуйста, как это правильно реализовать.

Вот фидл с примером: https://fiddle.sencha.com/#fiddle/1j1e

Или код, кому не охото на фидл ходить:

Ext.application({
    name : 'Fiddle',

    launch : function() {
        
        Ext.define('Fiddle.model.Base', {
        	extend: 'Ext.data.Model',
            schema: {
                namespace: 'Fiddle.model'
            }
        });
        
        Ext.define('Fiddle.model.Users', {
            extend: 'Fiddle.model.Base',
            fields: [
                { type: 'int', name: 'id' },
                { type: 'string', name: 'fullName' }                
            ]
        });
        
        Ext.define('Fiddle.model.UsersCount', {
			extend: 'Fiddle.model.Base',
            fields: [
                { type: 'int', name: 'id',
                	reference: {
                        type: 'Users',
                        role: 'user'
                    }
                },
                { type: 'int', name: 'count' }                
            ],            
            hasOne: {
                model: 'Fiddle.model.Users',
                name: 'user',
                foreginKey: 'id'
            }
        });
                                
        Ext.define('Fiddle.store.Users', {
			extend: 'Ext.data.Store',
            model: 'Fiddle.model.Users',
            data: [
                { id: 1, fullName: 'Leonardo' },
                { id: 2, fullName: 'Donatello' },
                { id: 3, fullName: 'Raphael' }
            ]
        });
        
        Ext.define('Fiddle.store.UsersCount', {
			extend: 'Ext.data.Store',
            model: 'Fiddle.model.UsersCount',
            data: [
                { id: 1, count: 150 },
                { id: 2, count: 320 }
            ]
        });
        
        
        Ext.create('Ext.grid.Panel', {
            renderTo: Ext.getBody(),
            store: new Fiddle.store.UsersCount,
            columns: {
                items: [
                    { text: 'Id', dataIndex: 'id' },
                    { text: 'FullName', dataIndex: 'user.fullName' },
                    { text: 'Count', dataIndex: 'count' }
                ]
            }
        });
        
        
        var usersCount = new Fiddle.store.UsersCount();
        var users = new Fiddle.store.Users();
        
        console.log(usersCount.first().getUser());
        
        
    }
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы со слайдером. Shupamen Работа 1 15.12.2013 00:12
проблемы с PagingToolbar serg3091 ExtJS 4 26.06.2013 09:33
Решение проблемы с отображением элементов на странице mozyr Javascript под браузер 17 13.01.2012 02:34
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Drug&Drop + всплывание события = проблемы =(( _NoName_ Events/DOM/Window 4 05.03.2009 17:47