Отображение данных Grid по клику на строку другой Grid
Всем привет!
В общем, ситуация такая. Есть 2 таблицы, обе работают через REST. В БД 1я таблица главная, а во 2й есть внешний ключ, ссылающийся на 1ю. Как сделать, чтобы по клику на строку 1й таблицы параметр id отправлялся во 2ю, т е отображались лишь связанные записи? То же самое касается манипуляций во 2й таблице: при создании новой записи FK должен также заполняться. Мне кажется, это довольно типовая задача, с которой многие сталкивались, тем не менее поиск мне примеров конкретных не дал. Можете дать хотя бы верное направление? :) |
Может быть такой пример поможет
http://examples.sencha.com/extjs/5.1...g-associations |
То что доктор прописал! :dance:
Вопрос лишь в том, что связанное значение отправляется в параметр как фильтр: filter [{"property":"testId","value":2}] Можно ли выставить свое поле вместо фильтра? Как-то так: testId 2 |
метод getParams свой сделайте,
здесь, кажется, похожий на ваш вопрос http://stackoverflow.com/questions/1...eader/10728630 |
Что-то пока непонятно как это сделать. В примере со StackOverflow он начисто удаляет фильтр и вставляет вместо него кастомный параметр, но мне нужно чтобы и фильтры работали тоже.
У обычного фильтра Grid присутствует параметр operator, но у ассоциации его нет. Пробовал вот такой код на основе переписанной ф-ции encodeFilters: encodeFilters: function(filters) { ... var serializedFilter = filter.serialize(); if (serializedFilter.operator === undefined) { this.setExtraParam('testId', 2); } } Однако мой параметр не появляется. Возможно, требуется какая-то дополнительная инициализация. |
В общем, пока не нашел внятного решения, работаю через фильтр.
Осталось 2 вопроса: 1. Как наложить маску (отключить) GridPanel до момента клика на ассоциированный Grid? 2. Как при создании новой записи во 2й таблице автоматически записывать FK 1й? |
Часовой пояс GMT +3, время: 00:12. |