私は最初に私がdataproviderを使ってリストビューをレンダリングします。ユーザーの検索時には、データプロバイダaをデータプロバイダbに更新します。それは仕事ですが、次のページのデータを表示するためにクリックします。表示されたデータはdataProvider 'a'に属し、 'b'に属しません。どうしてか分かりません。ページ区切りリストビューが正しく表示されない場合
これは、コントローラ
$data = Post::get();
if(isset($_POST['btn_search']))
{
$a= $_POST['a'];
$b= $_POST['b'];
$c= $_POST['c'];
$data = Post::get($a, $b, $c);
}
return $this->render('search', array(
'data' => $data
));
これはビューです:
<?php
\yii\widgets\Pjax::begin([
'enablePushState' => false,
]);
?>
<?=
ListView::widget([
'dataProvider' => $data,
'options' => [
'tag' => 'div',
'class' => 'panel-body list-group list-group-contacts',
'id' => 'list-search',
],
'itemView' => function ($model, $key, $index, $widget) {
return $this->render('_list_search',['model' => $model]);
// or just do some echo
// return $model->title . ' posted by ' . $model->author;
},
'itemOptions' => [
'tag' => false,
],
'pager' => [
'options' => [
'style' => 'margin-top: 10px; width: auto; margin-bottom: 10px; margin-right:5px',
'class' => 'pagination pager'
],
'nextPageLabel' => '<span class="glyphicon glyphicon-chevron-right"></span>',
'prevPageLabel' => '<span class="glyphicon glyphicon-chevron-left"></span>',
'maxButtonCount' => 5,
],
]);
?>
<?php \yii\widgets\Pjax::end() ?>
は私を助けてください。本当にありがとう。
あなたはリストビューのページ付けをクリックすると、Pjaxは「GET」リクエストを送信しますあなたの行動に「POST」データを取得しようとすると、あなたの「POST」パラメータはページネーションリンクを更新しません。 "GII"を使用してCRUDを作成してみてください.YII2の機能を参照してください。 –