2011-09-23 2 views
0

Je dois remplir les cellules d'un gridview avec juste la couleur. Aucun texte n'est requis dans ce cas. J'ai une liste d'objets X que je vais lier à gridview. L'objet X a des propriétés qui correspondent à la vue de la grille. Supposons qu'il existe une propriété appelée Y dans l'objet X qui est un booléen, si Y est faux, j'ai besoin de remplir la cellule avec du rouge et si Y est vrai, je dois le remplir avec du jaune.GridView Cell Color

Comment puis-je faire cela?

J'ai essayé quelque chose comme ceci:

<asp:TemplateField> 
      <HeaderTemplate>Default</HeaderTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Default" 
        runat="server" 
        BackColor= '<%# Eval("Default") %>==true:Green:Blue' 
       </asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 

Il me donne une erreur indiquant que la balise de serveur est pas bien formé.

REMARQUE: il n'est pas nécessaire de remplir du texte dans la cellule. Couleur juste basée sur les propriétés de l'objet X qui sont booléen.

espoir que j'ai moi-même fait clair ..

Toutes les idées et suggestions sont grandement appréciés!

Répondre

0

Utilisez la propriété style:

If(ObjectX.Y){ 

DataGridView1.Item(ColumnIndex, RowIndex).Style.BackColor = Red 

} else { 
Data GridView1.Item(ColumnIndex, RowIndex).Style.BackColor = Yellow 
} 

Je ne sais pas s'il y a une propriété pour forecolor aussi.