Показать сообщение отдельно
  #14 (permalink)  
Старый 21.06.2015, 12:41
Аспирант
Отправить личное сообщение для Пролетарий Посмотреть профиль Найти все сообщения от Пролетарий
 
Регистрация: 01.06.2015
Сообщений: 57

Сообщение от khusamov Посмотреть сообщение
Этот код выглядит странно. Много чего лишнего.
Возможно, мне сложно судить, но это единственное что заработало, более простые и очевидные способы не работали.
Сообщение от khusamov Посмотреть сообщение
Запись
noteStore: null,
не нужна, так как в гриде и так есть store. Незачем делать дубликат.
А как его получить? Через this.getStore() я получаю стор, но когда вызываю load() то получаю ошибку. А через эту дополнительную переменную всё работает.
Сообщение от khusamov Посмотреть сообщение
Запись
this.noteStore = Ext.getStore('JournalApp.store.NoteStore');
вообще не нужна. Все работает и без нее. Нужно store задавать как и полагается: store: {type: "алиас сторе"}
Я так делаю, если это имеется ввиду, но как я выше написал получаю ошибку. А через это глобальное получение Ext.getStore() по крайней мере в переменной оно есть.
{
        xtype: 'noteGrid',
        fieldLabel: 'Заметки:',
        viewModel: {
            type: 'order'
        },
        bind: {
            store: '{notes}'
        },
    }

Сообщение от khusamov Посмотреть сообщение
Запись
this.on('render', this.loadStore, this);
не нужна, можно просто store сделать autoload
К сожалению от autoload пришлось отказаться, т.к. заметки должны быть получены для конкретного ордера, при открытии этого ордера. А для этого надо знать ИД ордера перед load().

Я когда задумал это дело, то рассчитывал, что при открытии формы, в которую вложена таблица заметок, то при её создании я передам в store фильтр с ИД ордера и затем произойдет autoload и всё будет как в сказке. Но в реальности autoload вызывается при открытии приложения, само собой без нужного ИД, а при открытии формы, где находится таблицы, которую надо загрузить, никакого autoload не происходит. Поэтому весь этот код в initComponent.
Ответить с цитированием