Yii Framework Forum: CGridView tri colonne - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

CGridView tri colonne Rate Topic: -----

#1 User is offline   dialloma 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 1
  • Joined: 27-June 12

Posted 27 June 2012 - 09:08 AM

Bonjour,

J'utilise le composant CGridView de Yii pour afficher des données résultat d'une recherche.
Mais mes données sont envoyé en POST à partir du formulaire. Mais quand je veux faire le tri (clic sur le nom d'une colonne), Yii envoies l'information sous forme GET, et comme dans mon controlleur je récupérais les données sous forme POST, le tri ne marche pas.
J'aimerai donc savoir comment préciser au composant CGridView d'envoyer l'information sur le tri en POST et non en GET. Mon formulaire de recherche est un peu complexe pour envoyer toutes les données en GET.

Merci d'avance pour vos aides.

dialloma
0

#2 User is offline   fouss 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 394
  • Joined: 05-October 10
  • Location:Bamako Mali

Posted 28 June 2012 - 09:30 AM

View Postdialloma, on 27 June 2012 - 09:08 AM, said:

Bonjour,

J'utilise le composant CGridView de Yii pour afficher des données résultat d'une recherche.
Mais mes données sont envoyé en POST à partir du formulaire. Mais quand je veux faire le tri (clic sur le nom d'une colonne), Yii envoies l'information sous forme GET, et comme dans mon controlleur je récupérais les données sous forme POST, le tri ne marche pas.
J'aimerai donc savoir comment préciser au composant CGridView d'envoyer l'information sur le tri en POST et non en GET. Mon formulaire de recherche est un peu complexe pour envoyer toutes les données en GET.

Merci d'avance pour vos aides.

dialloma

Il serait bien que tu nous affiches ton code pour pouvoir mieux t'aider
Posted Image
0

#3 User is offline   grandoom 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 34
  • Joined: 11-July 12

Posted 11 July 2012 - 04:36 AM

je pense que ceci pourrait t'aider...

1 - defini tes critères de recherche dans ton 'modèle'
exemple

Quote

public function search()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.

$criteria=new CDbCriteria;
//$criteria->scopes='activeTeams';
$criteria->compare('name',$this->name,true);
$criteria->compare('leader',$this->leader,true);
//$criteria->order = 'victory DESC';
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'pagination'=>array(
'pageSize'=>'5',
),

));
}


surtout ne force pas un classement dans ton objet 'criteria' [$criteria->order = 'victory DESC';] car tu ne pourras plus trier les colonnes

2 - puis crée un fonction dans ton 'controleur' contenant tes critères complexes de recherche

exemple

Quote

public function actionIndex()
{
$model=new TblTeams('search');
$model->unsetAttributes(); // clear any default values


if(isset($_GET['TblTeams']))
$model->attributes=$_GET['TblTeams'];

$this->render('index',array(
'model'=>$model,
));



}


dans la 'view' rien de bien spécial a mettre si ce n'est le widget CGridView...
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users