@Silverviql

Как обновлять gridview pjax при изменение данных?

У меня на странице отображается два Kartik GridView , пытаюсь сделать что при изменение данных в таблице например ( удалили запись , отредактировали) таблица сама обновилась без перезагрузки.
Ну и у других пользователей кто смотрят эту же таблицу тоже обновилась.
То есть обновление как при пагинации.
  • Вопрос задан
  • 536 просмотров
Решения вопроса 1
@Silverviql Автор вопроса
Пока прописал такую кнопку, но это не очень решение.
<?php Pjax::begin(['id' => 'pjax-container', 'timeout' => 10000,]); ?>
<?= Html::a("Обновить", ['admin'], ['class' => 'btn btn-lg btn-primary']);?>

Можно установить скрипт который автоматом нажимает кнопку, Но тогда кнопки перестают работать.
Прописал ['data-pjax'=>0]) для кнопки, она все равно не работает.
<?= Html::a('Напоминание', ['#'],['class' => 'btn action modalReminder-button', 'value' => Url::to(['comment/create-reminder', 'id' => $model->id_zakaz], ['data-pjax'=>0]), 'onclick' => 'return false']) ?>


Изменил немного . в script.js прописал
setInterval(function(){
 		$.pjax.reload('#pjax-container1')
 	}, 5000);


Во вьюшке прописал
<?php Pjax::begin(['id' => 'pjax-container1', 'timeout' => 10000,]); ?>

Но это получается каждые 5 секунд запрос на перезагрузку страницы с таймаутом 10 секунд. во 1 бред , во 2 нагрузка огромная и через пару раз он просто зацикливается т.к он 2 запроса успевает сделать пока страница обновится. Теперь думаю как ловить каждое изменение данных. и только тогда вызывать $.pjax.reload
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы