yii2:la Coutume de la Pagination pour Gridview en mode formulaire
J'ai inclus le contrôle Gridview widget dans _form.php
fichier, qui fonctionne bien. Le problème est que le filtre et la pagination.
<?php
$dataProvider = new ActiveDataProvider([
'query' => \app\models\ServiceCharges::find(),
'pagination' => [
'pageSize' => 5,
],
]);
?>
<?php
$searchModel = New \app\models\ServiceChargesSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
?>
</div>
</div>
<div>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'id',
'service_name',
'room_category',
'charges_cash',
'charges_cashless',
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
</div>
Si je suis en train de monter le $dataprovider
la pagination de la partie en dessous de la $searchmodel
, la pagination fonctionne très bien, mais alors le filtre ne fonctionne pas et vice-versa.
Comment puis-je avoir le filtre et la pagination de travail dans la _form.php.
Toute solution sera grandement apprécié.
Grâce
OriginalL'auteur Pawan | 2015-02-04
Vous devez vous connecter pour publier un commentaire.
Je n'ai aucune expérience avec Yii2 mais si elle est similaire de 1..
Pourquoi êtes-vous en déclarant
dataProvider
deux fois? J'imagine que la première est d'être en mesure de personnaliser la taille de la page.Ce qui se passe est que vous utilisez un fournisseur de données pour définir la pagination, mais ensuite, vous passez d'un différent à la table.
Deuxième je ne sais pas comment votre modèle regarde à l'intérieur, mais..
Depuis que je peux voir la
search()
méthode retourne undataProvider
, vous devez modifier la pagination à l'intérieur.Ou je pense que vous pouvez le modifier à droite après le
search()
méthode renvoie ladataProvider
comme:De sorte que vous n'avez pas besoin de la première instance de
dataProvider
que vous avez déclaré avant de.Comme pour les filtres, je ne sais pas comment il se comporte exactement votre
ServiceChargesSearch::search
fonctionMais dans Yii1 vous normalement:
Si des filtres toujours pas de travail, vous pouvez fournir le code à partir du modèle.
Peut-on définir la pagination sur la page vues dans gridview::widget ?
OriginalL'auteur Alexandru Trandafir Catalin
Je le fais de cette façon dans le contrôleur:
OriginalL'auteur shades3002