GridView couleur de ligne [Résolu]

Signaler
Messages postés
70
Date d'inscription
jeudi 26 juillet 2007
Statut
Membre
Dernière intervention
20 janvier 2011
-
Messages postés
70
Date d'inscription
jeudi 26 juillet 2007
Statut
Membre
Dernière intervention
20 janvier 2011
-
Bonjour,

Je suis actuellement sur un gridview qui marche plutot pas mal. Voila son code :

                <Columns>
                   
                   
                   
                   
                   
                   
                   
                   
                   
                   
                </Columns>
           

Le sql data source lié fonctionne aussi tres bien et je recup bien toutes les données que je veux.

Ensuite j'aimerais mettre un petit code pour colorier une ligne en fonction du champs 'IsEnCours'. Pour cela j'ai fais :
        If (e.Row.RowType = DataControlRowType.DataRow) Then
            Dim item As Data.DataRowView
            item = e.Row.DataItem
            If item.Row.Item(10) = "False" Then
                e.Row.BackColor = Color.Red
            End If
        End If

Le numero 10 est bien le bon champs, il y a pas de souci. Mais le GridView ne change pas la couleur de la ligne.

Si
j'enleve le CssClass du gridview cela fonctionne tres bien, certaines
couleurs sont en rouge et d'autre non, enfin exactement comme
j'aimerais.

Alors, ma question est simple, es possible d'avoir
un Css sur le gridView et un changement de couleur pour certaine ligne
? Si oui, comment ?

Merci :)

3 réponses

Messages postés
70
Date d'inscription
jeudi 26 juillet 2007
Statut
Membre
Dernière intervention
20 janvier 2011

J'ai trouvé la solution.

Je poste donc pour les suivant...

Dans le CSS j'avais :
.gridview td {
    background: #D7E6F4;
}

Et cette proprieté n'etait apparement jamais effacé.
Pour avoir le meme fonctionnement il faut mettre le background comme cela :

.gridview {
    width: 100%;
    background: #D7E6F4;
}

Ensuite tout le code marche !

Avec les lignes en rouge et tout et tout :)
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut

Es-tu sur que ta valeur item.Row.Item(10) est une chaine de caractere il faut peut etre caster ta valeur si c'est un boolean.

Ensuite e.Row.CssClass = "monstyle1" pour ta deuxieme question

Bon coding
Messages postés
70
Date d'inscription
jeudi 26 juillet 2007
Statut
Membre
Dernière intervention
20 janvier 2011

Bonjour, et merci d'avoir regardé un peu mon souci.

Alors, pour le item.Row.Item(10) je suis sur que cela marche vue que si je met pas de CssClass au gridView complet et bien cela marche. Les lignes que je souhaite se mettent en rouge et les autres non. C'est donc tres bien.

Donc la detection pour mettre la ligne en rouge ou non est bonne.

Ensuite, si je met pas de CssClass au gridView complet et que je met soit :
e.Row.BackColor = Color.Red
soit
e.Row.CssClass = "ligneRouge"

Ca marche tres bien.

Le probleme arrive quand je met mon CSS sur le GridView complet. d'un coup, le rouge ne fonctionne plus.

Je vous montre le CSS lié à mon grid view, c'est peut etre de la que vien le souci :

/*************/
/* GridView  */
/*************/
.gridview .actions div {
    float: right;
    text-align: right;
}

.gridview .edit td,.gridview .create td {
    background: #DAFFCD;
    border-bottom: solid 2px #FFFFFF;
    border-top: solid 2px #FFFFFF;
}

.gridview td {
    background: #D7E6F4;
    color: #333333;
    font: small "Segoe UI", Segoe, sans-serif;
    text-align:center;
}
.gridview td a{
    color: #009A3A;
    font: bold small "Segoe UI",Segoe,sans-serif;
    text-decoration: none;
}
.gridview td a:hover {
    color: red;
    font-weight: bold;
}
.gridview th {
    background: #009A3A;
    color: #FFFFFF;
    font: small "Segoe UI", Segoe, sans-serif;
    letter-spacing: 0;
    text-align:center;
}
.gridview th a{
    color: #FFFFFF;
    font: bold small "Segoe UI",Segoe,sans-serif;
}
.gridview th a:hover{
    color: red;
}
.gridview tr.even td,.detailsview tr.even td{
    background: #FFFFFF;
}
.gridview tr.header {
    background: #C5DBF7;
}
.gridview {
    width: 100%;
}
.gridview tr:hover
{
    background-color:#f2e8da;
}

.ligneRouge
{
    background-color:red;
}


Il y a peut etre une propriete CSS que je n'ai aps defini ou mal defini.

Merci de m'aider :)

Bonne journée