pjax поиск по GridView
pjax поиск по GridView
Всем привет!
Как сделать чтобы таблица GridView через форму _search.php обновлялась через pjax?
Сейчас она обновляется с обновлением страницы через get.
Если вбить данные напрямую в Grid, то обновляется через pjax. Мне нужно, чтобы тоже самое было через форму _search.php
это <?php \yii\widgets\Pjax::begin(['id' => 'tablePriceList',]); ?> прописал.
Как сделать чтобы таблица GridView через форму _search.php обновлялась через pjax?
Сейчас она обновляется с обновлением страницы через get.
Если вбить данные напрямую в Grid, то обновляется через pjax. Мне нужно, чтобы тоже самое было через форму _search.php
это <?php \yii\widgets\Pjax::begin(['id' => 'tablePriceList',]); ?> прописал.
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.
Re: pjax поиск по GridView
а Pjax::begin точно перед формой search?
а не забыли ли закрыть Pjax::end();
а установили ли
для формы поиска ActiveForm::begin ?
а не забыли ли закрыть Pjax::end();
а установили ли
Код: Выделить всё
'data' => [
'pjax' => 1
]
Re: pjax поиск по GridView
Не совсем понимаю зачем форму в pjax засовывать, когда мне нужно обновить таблицу? Где устанавливать 'data' => [
'pjax' => 1
]
'pjax' => 1
]
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.
Re: pjax поиск по GridView
Вот это решает вопрос (вешать на submit, саму таблицу окутываем в pjax)
Засовывать форму в \yii\widgets\Pjax::begin(); не нужно!!!
P.S. Может быть есть более изящное решение?
Код: Выделить всё
'onClick'=>"$.pjax({url:$('#searchForm').attr('action') +'?'+ $('#searchForm').serialize(), container: '#tablePriceList'});return false;"
P.S. Может быть есть более изящное решение?
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.
Re: pjax поиск по GridView
Я реализовал следующим образом:
Форму засунул в pjax::begin(), а так же добавил ей атрибут data-pjax=1
Форму засунул в pjax::begin(), а так же добавил ей атрибут data-pjax=1
Re: pjax поиск по GridView
в итоге в ответе возвращается пустая форма, таблица не обновляется
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.
Re: pjax поиск по GridView
А код вьюхи можно? Должно по идее всё работать.
Re: pjax поиск по GridView
форма
таблица
Все в отдельных файлах
Код: Выделить всё
<div class="pricelist-search">
<?php \yii\widgets\Pjax::begin(); ?>
<?php $form = ActiveForm::begin([
'id'=>'searchForm',
'action' => ['index'],
'method' => 'get',
'option' => ['data-pjax'=>1] // так тоже пробовал data-pjax=>'#tablePriceList'
]); ?>
<?= $form->field($model, 'id') ?>
<?= $form->field($model, 'date') ?>
<?php // echo $form->field($model, 'create_user') ?>
<?php // echo $form->field($model, 'update_user') ?>
<?php // echo $form->field($model, 'create_time') ?>
<?php // echo $form->field($model, 'update_time') ?>
<div class="form-group">
<?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?>
<?= Html::resetButton('Reset', ['class' => 'btn btn-default']) ?>
</div>
<?php ActiveForm::end(); ?>
<?php \yii\widgets\Pjax::end(); ?>
</div>
Код: Выделить всё
<?php \yii\widgets\Pjax::begin(['id' => 'tablePriceList',]); ?>
<?= GridView::widget([
'id'=>'tablePriceList',
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'id',
'date',
// 'create_user',
// 'update_user',
// 'create_time:datetime',
// 'update_time:datetime',
//['class' => 'yii\grid\ActionColumn'],
],
]); ?>
<?php \yii\widgets\Pjax::end(); ?>
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.
Re: pjax поиск по GridView
Всё просто. И форму и гридвью нужно обернуть одним pjax'ом. У вас оно в разных.
Re: pjax поиск по GridView
а как удалить в гриде запись и обновить грид?codrilla писал(а):Всё просто. И форму и гридвью нужно обернуть одним pjax'ом. У вас оно в разных.
Re: pjax поиск по GridView
Такой задачи перед собой не ставил, но подозреваю, что для этого ничего дополнительно не потребуется, всё итак должно работать.
Re: pjax поиск по GridView
Я оказался неправ. Проблема в том, что по умолчанию GridView формирует ссылку на удаление с атрибутом data-pjax="0". И проблема вторая, по умолчанию в контроллерах удаление возможно только при POST запросе. Хотя эти два момента исправить не сложно.
Re: pjax поиск по GridView
Посмотрел форум, оказывается вы сталкивались с подобной проблемой, расскажете на чём остановились?
Re: pjax поиск по GridView
если это вопрос ко мне, то я возможно отвечал в похожей теме, но сам с проблемой не сталкивался. Представляю это так: на delete повесить ajax-запрос на controller/delete, после удаления рефрешить грид через $.pjax.reload({container: "#grid"});codrilla писал(а):Посмотрел форум, оказывается вы сталкивались с подобной проблемой, расскажете на чём остановились?
но попробовав это реализовать, столкнулся с какой-то проблемой - по-моему после удаления перезагружалась страница. Поэтому спрашиваю тут, т.к. фича полезная, но не очень необходимая мне на данный момент - хотелось бы сразу рабочую реализацию.
Re: pjax поиск по GridView
Обновить грид можно через js $.pjax.reload({container:'#tablePriceList'});
#tablePriceList - id блока pjax
#tablePriceList - id блока pjax
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.
Re: pjax поиск по GridView
Если страница перезагружается, значит pjax не сработал.
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.
Re: pjax поиск по GridView
я оборачивал все равно не работает. И возвращать форму мне не нужно. Мне нужна только таблица, поэтому не вижу смысла форму оборачивать в pjax.codrilla писал(а):Всё просто. И форму и гридвью нужно обернуть одним pjax'ом. У вас оно в разных.
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.
Re: pjax поиск по GridView
именно это я и написал комментом выше.MOTORIST писал(а):Обновить грид можно через js $.pjax.reload({container:'#tablePriceList'});
#tablePriceList - id блока pjax
Re: pjax поиск по GridView
вы сегодня КО, учитывая что двумя комментами пересказываете мой.MOTORIST писал(а):Если страница перезагружается, значит pjax не сработал.
- SpiritAbsolute
- Сообщения: 187
- Зарегистрирован: 2013.12.29, 18:20
- Откуда: Калининград
- Контактная информация:
Re: pjax поиск по GridView
Код: Выделить всё
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
в документации написано:
dataProvider The data provider for the view.(Поставщик данных для представления.)
filterModel The model that keeps the user-entered filter data.(Модель, которая хранит данные фильтровать введенные пользователем.)
Второе я так понял, это именно твои данные которые нужно вставлять в таблицу. А первое?