Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 07.10.2016, 07:58
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

Пока что такое решение:
//get store
var store = grid.getStore();
//get current record by row index
var rec = store.getAt(rowIndex);
//delete (autosync do all job)
store.remove(rec);
//reload store
store.reload();


Соответственно, это еще +1 запрос после удаления на получение списка снова, что не очень радует.
Ответить с цитированием
  #12 (permalink)  
Старый 07.10.2016, 12:46
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от Sogl
Простой onLoad() ничего не делает.
почему не делает
обновляет toolbar
простенький пример https://fiddle.sencha.com/#fiddle/1i3e
нажми кнопку Удалить первую строку - обновится
только данные в примере из статического json берутся, поэтому сами данные, которые через ajax запрашиваются, не обновляется
Ответить с цитированием
  #13 (permalink)  
Старый 08.10.2016, 15:35
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

Хм... а у меня в 6.0.1 почему-то всегда выпадает значение в getTotalCount() ДО удаления. Лишь в count() реальное значение, но там только видимые данные, в пагинации.
Ответить с цитированием
  #14 (permalink)  
Старый 13.10.2016, 04:05
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

В общем, ребят, так я и не пойму как store объявлять без ViewModel.

Лезем в доку и видим, что можно передавать storeId что в грид, что в тулбар:
http://docs.sencha.com/extjs/6.2.0/c...html#cfg-store
http://docs.sencha.com/extjs/6.2.0/c...html#cfg-store

Ок. Прописываем у store следующее:
storeId: 'employees1',


Пишем `store: 'employees1'` в тулбаре и гриде и получаем ошибку:
TypeError: store is undefined


Хорошо, ищем примеры объявления. Например, в примере грида сразу есть такое:
store: Ext.data.StoreManager.lookup('employees1'),

Прописываем в грид и тулбар и в итоге наши записи не грузятся в таблицу

То же самое для этого кода:
store: Ext.getStore('employees1')


Зато если прописать вот так:
//грид
store:  Ext.create('MyApp.store.employees.Employees'),
//тулбар
store: Ext.getStore('employees1')


то все работает, НО.... теперь даже если захожу во view логина, то у меня ИДЕТ GET ЗАПРОС на получение сотрудников из главного view, который еще даже не загружен. Я так понимаю, это связано с requires секцией, но в view логина я не гружу этот store.

В общем, это какое-то сильное колдунство...со stores во ViewModel все работает адекватно и грузится именно тогда, когда вызвана вьюшка.
Ответить с цитированием
  #15 (permalink)  
Старый 13.10.2016, 04:47
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

Кстати, про этот фидл:
https://fiddle.sencha.com/#fiddle/1i3e

Такой код:
store.totalCount = store.getTotalCount() - 1;
pb.onLoad();


Разве учитывает то, что мы удалим не один элемент, а, например, 5... или когда несколько пользователей работают с таблицей и удаляют одновременно разные записи?
Похоже, релоад store лучший вариант.

Последний раз редактировалось Sogl, 13.10.2016 в 08:33.
Ответить с цитированием
  #16 (permalink)  
Старый 13.10.2016, 07:31
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

В общем, посмотрел я вот этот пример:
http://examples.sencha.com/extjs/6.2...k/#paging-grid

и увидел, что в `pagingtoolbar` вообще можно store не прописывать и все замечательно работает. Убедился, что это так.
Хватает такого кода в гриде:
store: {
        type: 'employees'
    },

Чудеса)
В одном примере Сенча прописывает, в другом нет...

Последний раз редактировалось Sogl, 13.10.2016 в 08:20.
Ответить с цитированием
  #17 (permalink)  
Старый 13.10.2016, 11:28
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

В документации к 6.2 классик версии
http://docs.sencha.com/extjs/6.2.0/c...html#cfg-store
сказано
If no store is provided, the store of the owner component (if there is an owner and it has a store) is used.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает без обновления страницы levi4 jQuery 4 26.01.2011 15:12
Не работает без обновления страницы levi4 Events/DOM/Window 3 25.01.2011 15:44
Не работает кнопка отправки после загрузки Igor Shmigoff jQuery 2 29.12.2010 21:51
Подскажите карусель, которая работает без какого либо фреймворка Khmelevsky Библиотеки/Тулкиты/Фреймворки 2 25.04.2010 12:45
Не работает кнопка "Назад" savagden Javascript под браузер 3 10.12.2009 20:25