IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[2.0] GridView : Mise en forme conditionnelle


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 25
    Points : 20
    Points
    20
    Par défaut [2.0] GridView : Mise en forme conditionnelle
    Bonjour,

    je cherche a colorer une ligne de ma grille en fonction d'une valeur :

    exemple : si la valeur de la colonne "paiement" = "RIB" je colore en vert ...

    j'avais trouvé un exemple en Asp.Net 1.1 mais apparemment ca ne fonctionne pas pareil en asp.net 2.0 .

    merci pour votre aide, si vous pouviez me donner un exemple ca searit parafit ( je suis exigeant ...)

    merci beaucoup.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut
    Je crois que l'on peut faire cela avec l'évènement Databound.

    Je l'ai fait dans un Formview en m'inspirant d'un tuto super dont voici l'adresse. On a même le choix entre :
    C# http://www.asp.net/Learn/DataAccess/....aspx?tabid=63
    ou VB http://www.asp.net/Learn/DataAccess/....aspx?tabid=63

    Je n'ai pas le temps de faire l'essai sur un GridView, mais je viens de vérifier il y a également un évènement Databound.

    Regarde le tuto, c'est une mine...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    merci pour ces tutos,

    malheresement je dois avoir un poil dans la main car je n'arrive pas a les appliquer.

    par contre g trouve des infos sur l'evenement
    GridView_RowDataBound

    j'arrive alors a modifier la valeur d'une colonne ( ex : sur la colonne nom je met "DUPOND" a chaque ligne ...)
    e.Row.Cells[9].Text = "....." ;

    par contre si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (e.Row.Cells[9].Text ="valeur1")
    {
       e.Row.Cells[9].Text = "valeur2";
    }
    ca ne fonctionne pas , dans ma condition il trouve toujours une chaine vide ... etrange.


    Voila si ca peut aider pour trouver une solution

    merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut
    Tu dois t'assurer du type de données retourné avant de faire ton traitement. Car cet évènement est déclenché sur toutes les lignes header et footer compris !!!

    Donc, dans ta proc GridView1_RowDataBound tu dois faire qq chose de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    if(e.Row.RowType == DataControlRowType.DataRow)
            {
                try
                {                               
                    double res = Convert.ToDouble(e.Row.Cells[1].Text);
                    if (res > 90)
                    {
                        e.Row.Cells[0].Font.Bold = true;
                        e.Row.Cells[0].Font.Italic = true;
                    }
                }
                catch (Exception ex)
                {
                    Label1.Text = ex.Message.ToString();
                }
    Dans cet exemple où j'ai un article (Cells[0] ) et on prix ( Cells[1] ), je met le libellé de l'article en gras italique si le prix est supérieur à 90.

    Je ne fais pas le malin j'ai mis un moment avant d' y arriver. Mais je savais que tôt ou tard j'allais avoir ton problème

Discussions similaires

  1. [Débutant] Mise en forme conditionnelle GridView
    Par clmntpetit dans le forum C#
    Réponses: 15
    Dernier message: 30/11/2011, 16h33
  2. [ASP.NET][C#]Mise en forme conditionnelle d'un gridview
    Par PatStan17 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 15/01/2009, 16h49
  3. [VBA][Excel] mise en forme conditionnelle
    Par titflocon dans le forum Access
    Réponses: 9
    Dernier message: 19/12/2005, 10h13
  4. Réponses: 4
    Dernier message: 15/11/2005, 18h53
  5. Mise en forme conditionnelle en VBA / Cut-Paste
    Par priest69 dans le forum IHM
    Réponses: 4
    Dernier message: 03/09/2005, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo