Mettez en surbrillance GridView ligne lorsqu'une condition est remplie
Je suis en utilisant VS2005 C# Server-side
de codage.
Je suis curieux de savoir qu'en VS2005 version
, est-il possible de highlight
une ligne dans une GridView lorsqu'une condition est remplie? E. g. Si la colonne Risque est stockée en tant que haute dans la base de données pour cette ligne, la ligne sera highlighted in Red
.
Est-il possible?
Edit:
Code actuel:
protected void GridView1_OnRowDataBound(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//do your stuffs here, for example if column risk is your third column:
if (e.Row.Cells[3].Text == "H")
{
e.Row.BackColor = Color.Red;
}
}
}
Je suppose cellules de la colonne commence à partir de 0, donc le mien est à la cellule 3. Mais la couleur ne passe toujours pas.
Quelqu'un a une idée?
Non, OnDataBound obtient seulement tiré une fois, ce qui n'est pas ce que vous voulez. Qu'il ne montre aucune erreur lorsque vous essayez OnRowDataBound?
Assurez-vous que votre "GridView_OnRowDataBound" méthode "est réglé sur "public".
de vérifier ma solution, je pense que le
Assurez-vous que votre "GridView_OnRowDataBound" méthode "est réglé sur "public".
de vérifier ma solution, je pense que le
.Text
serait plus applicable dans le DataBound événement plutôt que de RowDataBound
puisque la valeur est en fait contenue par un contrôle et non de la cellule, de sorte DataBinder.Eval
doit travailler pour vousOriginalL'auteur gymcode | 2011-12-12
Vous devez vous connecter pour publier un commentaire.
Oui, ajoutez
OnRowDataBound="yourGridview_RowDataBound"
à votre gridview. Cet événement est déclenché pour chaque gridview ligne.Dans le code-behind, avoir ceci:
Quelque chose comme ça.
Vérifiez votre adresse.Ligne.Les cellules[3].Le texte est vraiment égal à "Haute" (corriger les cas, pas d'espaces supplémentaires, etc). Vous pouvez utiliser la Réponse.Write("-" + e.Ligne.Les cellules[3].Texte + "-") pour afficher les valeurs.
C'est correct, en haut de ma page est pleine du texte dans mon troisième colonne.
Essayez de désactiver temporairement "si (e.Ligne.Les cellules[3].Texte == "H") { }" et il suffit de laisser "e.Ligne.BackColor = Color.Red;". Le changement de couleur maintenant?
Oui, c'est fait, l'ensemble du tableau s'allume en rouge.
OriginalL'auteur Pupper
Utilisation RowDataBound Événement. Dans ce cas vous obtiendrez d'ajouter le css basé sur votre état de santé
OriginalL'auteur Anand
Vous devez vous abonner pour la
RowDataBound
cas de la grille et emparez-vous de la ligne qui a votre colonne mentionnant Risque plus Élevé puis définissez laBackColor
de la ligne de votre couleur de surbrillance choixMSDN Le formatage de la GridView Basés sur les Données sous-jacentes
OriginalL'auteur V4Vendetta
dans
RowDataBound
essayer:http://blog.jerryleelajohn.com/2009/08/rowdatabound-vs2005.html
OriginalL'auteur Shree
OriginalL'auteur ramakrishna