Change le "background-color" d'une ligne dans une CGridView selon une condition.

Bonjour à tous,

Je voudrais comme le titre l’indique que selon une condition , la couleur de fond d’une ligne dans une CGridview change.

J’ai donc essayé avec rowCssClass ou encore rowCssStyleExpression sans y parvenir.

Que me conseillez vous ???

La condition est-elle à définir dans le widget ou avant ?

Bonjour,

Tu devrais nous montrer une partie de ton code pour que l’on puisse plus facilement t’aider, un peu de visuel est toujours plus parlant je trouve.

Parce qu’il y a plusieurs propriétés dans CGridView en rapport avec le css, que ce soit sur le grid global ou sur une ligne en particulier (ce que tu as envi de faire si j’ai bien compris).

Mais de toute évidence tu va devoir utiliser la propriété RowCssClassExpression pour réaliser ta coloration de ligne, voici un topic qui pourrait t’aider à comprendre comment utiliser cette propriété :

http://www.yiiframework.com/forum/index.php?/topic/20685-cgridviewrowcssstyleexpression-a-little-improvement-suggestion/

Par contre la méthode présentée dans ce topic n’est pas orienté objet, ce qui n’est pas le must avec Yii framework.

J’ai eu à faire cela ya qq mois sur un projet en utilisant “rowCssClassExpression”. Fais moi voir comment tu

utilise rowCssClassExpression ?

Salut

Voici la réponse à ta question




'rowCssClassExpression'=>' ReponseExpEcrite::model()->find("response_id=".$data->id)->note ? "note" : "odd" ',



Tu mets ce code dans l’entete “zii.widgets.grid.CGridView”. Ensuite dans ton CSS tu affecte la couleur que tu veux. à “note” ou “odd” … Tu les renommes selon tes besoins.

N’hesites pas a me recontacter si besoin.

A+

A noter que cette réponse suppose qu’il n’y que deux cas possible “note” et “odd”