Как настроить обновление GridView без полной перезагрузки страницы?
Добрый день, уважаемые форумчане.
Начал усиленно изучать YII2, входит хорошо, но запнулся на работе с ajax запросами и частичным обновлением страницы.
Не могу понять, как обновить данные виджета...
Автоматизация процесса в библиотеки:
Есть один вью на котором 2 GridView::widget. В первом виджете список с ФИО, во втором список книг на руках конкретного ФИО (id=id_ФИО).
Необходимо обновлять данные во втором виджите по щелчку мыши в первом виджете.
Jquery я обрабатываю клик в первому виджету и получаю ИД. Что дальше делать не пойму :?:
з.ы
Прочитал огромную кучу мануалов и статей.
Помогите разобраться пожалуйста.
pazzia: Вы передаете id текущей записи через $.pjax.reload({data:{id:123}}). И на основании его в экшне выбираете нужные данные ко второму гриду. Pjax перегрузит вам не всю страницу, а только то, что в него обернуто.
Второй виджет обновляется, но перегружается все равно вся страница. В противном случае при вызови метода render из контроллера и передачи ему только измененного dataProvider возвращается ошибка, что данных для первого виджета нет...
Объясните дураку, как отрендерить только измененный кусок без перезагрузки всего кода, иначе получаются очень грабельные решения явно не по феншую YII
Ну мое личное мнение такое, если хотите что то простое, то да GridView
если уже более нароченое - берем AngualrJs и все делаем на нем.. там уже и всякие события и все вкусно... (поставил watch на модель...- модель поменялась, запросили код для замены второй модели)
Андрей,
На сколько сложней реализовать такое с помощью angular? в чем преимущества реализации такого функционала через angular по сравнению с обычными обработчиками jquery и pajax
A1eksandr: При определенном уровне, не так сложно, ну лично мне gridview всегда казался тем инструментом, когда надо быстро и просто, чуть посложнее.. начинались танцы с бубном.. тут вы контролируете процесс.. вешаете те события которые Вам нужны. Ну и конечно с моей стороны плюс.. это нету лапши из JQuery.
pazzia: Ну там вешаете событие на ng-click потом AJAX подгружаете нужные книги и заменяете вывод книг (т.к. данные биндяться то если вы замените книги они автоматом отобразятся в нужном Вам месте) как то так.. если в картце...