Coloration personaliser de ligne de DATAGRID ?? Résolu

Coloration personaliser de ligne de DATAGRID ?? Résolu - C#/.NET managed - Programmation

Marsh Posté le 22-05-2003 à 13:59:23    

Voila je souhaiterais que chaque ligne de mon DATAGRID prenne une couleur specifique selon certains conditions
 
Ce datagrid contient 4 colonne.
 
Comment penser vous que je puisse faire pour obtenir ce resultat ?
Je n'ai pour linstant aucune idée
 
merci :)


Message édité par massamu le 23-05-2003 à 12:08:42
Reply

Marsh Posté le 22-05-2003 à 13:59:23   

Reply

Marsh Posté le 22-05-2003 à 14:04:39    

pas possible avec un datagrid. peut être via un datalist, mais ca risque d'etre coton. une piste serait de pouvoir faire un appel de fonction dans du script inclue dans l'itemtTemplate. autant dire mission impossible !
 
si quelqu'un sait faire ça, je suis egalement preneur :D

Reply

Marsh Posté le 22-05-2003 à 14:19:52    

Pkoi ce serais si compliqué ?
javais pensé aussi a faire un apel de fonction dans l'item template mais bon.
 
Bah ya pas dautre maniere, je veut bien changé et prendre autre chose qu'un datagrid si ya moyen que ca fonctionne.
 
Peut etre une boucle qui se ballade dans les lignes du datagrid nan ?

Reply

Marsh Posté le 22-05-2003 à 14:32:01    

:bounce:

Reply

Marsh Posté le 22-05-2003 à 15:03:32    

Ou si vous aviez une idée de comment faire ca :
 
Je voudrais faire une boucle qui se ballade dans les lignes du datagrid et qui recupere par exemple le contenu d'nu champ source du datagrid.
 
c possible ca ?

Reply

Marsh Posté le 22-05-2003 à 19:02:54    

massamu a écrit :

Ou si vous aviez une idée de comment faire ca :
 
Je voudrais faire une boucle qui se ballade dans les lignes du datagrid et qui recupere par exemple le contenu d'nu champ source du datagrid.
 
c possible ca ?


 
va voir du coté de l'evenement ItemDataBound (ou un truc dans le genre, je l'ai plus en tete), la suite tu devrais trouver tout seul

Reply

Marsh Posté le 23-05-2003 à 12:08:15    

Bah jai chercher et j'ai trouvé
 
la solution pour ceux que ca interesse.
Avant le databind il faut fixer un datakeyfiedl au datagrid
 
dans mon cas
 

Code :
  1. selectorRep1.DataKeyField = "LEVEL_GRADE";
  2. selectorRep1.DataBind();


 
Puis voila la méthode pour fixé une couleur selon la valeur du champ clé :
 
 

Code :
  1. foreach (DataGridItem item in selectorRep1.Items)
  2. {
  3.   if (selectorRep1.DataKeys[item.ItemIndex].ToString() == "1" )
  4.   {
  5.      item.BackColor = System.Drawing.Color.Beige;
  6.   }
  7. }


 
Voila voila ;)


Message édité par massamu le 23-05-2003 à 12:08:29
Reply

Marsh Posté le 24-05-2003 à 09:01:27    

massamu a écrit :

Bah jai chercher et j'ai trouvé
 
la solution pour ceux que ca interesse.
Avant le databind il faut fixer un datakeyfiedl au datagrid
 
dans mon cas
 

Code :
  1. selectorRep1.DataKeyField = "LEVEL_GRADE";
  2. selectorRep1.DataBind();


 
Puis voila la méthode pour fixé une couleur selon la valeur du champ clé :
 
 

Code :
  1. foreach (DataGridItem item in selectorRep1.Items)
  2. {
  3.   if (selectorRep1.DataKeys[item.ItemIndex].ToString() == "1" )
  4.   {
  5.      item.BackColor = System.Drawing.Color.Beige;
  6.   }
  7. }


 
Voila voila ;)


 
j'aurais fait ca comme ca plutot mais bon ...
 
dans le page load :

Code :
  1. this.DataGrid1.ItemDataBound += new DataGridItemEventHandler(Item_Bound);


et la méthode Item_Bound :

Code :
  1. private void Item_Bound(object sender, DataGridItemEventArgs e)
  2. {
  3. if(e.Item.ItemIndex >= 0)
  4. {
  5. if(e.Item.Cells[_index_].Text == __une_valeur)
  6. __ce_que_tu_veux_faire
  7. }
  8. }


Message édité par HappyHarry le 24-05-2003 à 09:09:53
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed