Javascript.RU

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

Отображение данных Grid по клику на строку другой Grid
Всем привет!

В общем, ситуация такая. Есть 2 таблицы, обе работают через REST.
В БД 1я таблица главная, а во 2й есть внешний ключ, ссылающийся на 1ю.

Как сделать, чтобы по клику на строку 1й таблицы параметр id отправлялся во 2ю, т е отображались лишь связанные записи? То же самое касается манипуляций во 2й таблице: при создании новой записи FK должен также заполняться.

Мне кажется, это довольно типовая задача, с которой многие сталкивались, тем не менее поиск мне примеров конкретных не дал.

Можете дать хотя бы верное направление?
Ответить с цитированием
  #2 (permalink)  
Старый 29.11.2016, 17:02
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Может быть такой пример поможет
http://examples.sencha.com/extjs/5.1...g-associations
Ответить с цитированием
  #3 (permalink)  
Старый 02.12.2016, 09:07
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

То что доктор прописал!

Вопрос лишь в том, что связанное значение отправляется в параметр как фильтр:
filter	[{"property":"testId","value":2}]


Можно ли выставить свое поле вместо фильтра?
Как-то так:
testId 2
Ответить с цитированием
  #4 (permalink)  
Старый 02.12.2016, 11:25
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

метод getParams свой сделайте,
здесь, кажется, похожий на ваш вопрос http://stackoverflow.com/questions/1...eader/10728630
Ответить с цитированием
  #5 (permalink)  
Старый 05.12.2016, 07:04
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

Что-то пока непонятно как это сделать. В примере со StackOverflow он начисто удаляет фильтр и вставляет вместо него кастомный параметр, но мне нужно чтобы и фильтры работали тоже.

У обычного фильтра Grid присутствует параметр operator, но у ассоциации его нет.

Пробовал вот такой код на основе переписанной ф-ции encodeFilters:
encodeFilters: function(filters) {
    ...
    var serializedFilter = filter.serialize();

    if (serializedFilter.operator === undefined) {
        this.setExtraParam('testId', 2);
    }

}


Однако мой параметр не появляется. Возможно, требуется какая-то дополнительная инициализация.
Ответить с цитированием
  #6 (permalink)  
Старый 06.12.2016, 09:18
Аватар для Sogl
Аспирант
Отправить личное сообщение для Sogl Посмотреть профиль Найти все сообщения от Sogl
 
Регистрация: 12.05.2016
Сообщений: 95

В общем, пока не нашел внятного решения, работаю через фильтр.

Осталось 2 вопроса:
1. Как наложить маску (отключить) GridPanel до момента клика на ассоциированный Grid?
2. Как при создании новой записи во 2й таблице автоматически записывать FK 1й?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение скрытого элемента по клику на изображение moslem Общие вопросы Javascript 2 11.04.2016 23:32
Преобразование из текстовых данных в красивое отображение материала AlexGraur Общие вопросы Javascript 0 08.08.2015 15:13
Проверка введения данных и отображение ошибки phototer Элементы интерфейса 2 22.06.2013 20:14
Отображение контента одной страницы на другой igo Общие вопросы Javascript 6 11.12.2012 08:21
Постраничное отображение данных из БД seregarem AJAX и COMET 2 16.07.2010 15:50