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 :

[C#] Comment colorier différemment chaque Item d'une Listbox ?


Sujet :

ASP.NET

  1. #1
    Membre régulier Avatar de luimême
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 176
    Points : 121
    Points
    121
    Par défaut [C#] Comment colorier différemment chaque Item d'une Listbox ?
    Bonjour,

    je souhaiterais colorer chaque ligne de ma listbox différement,
    est-ce possible ?

    voici ce que j'ai essayé. mais ça marche pas.
    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
    16
    17
    18
    19
    20
    21
    _lst.Items.Add( "a" ) ;
    _lst.Items.Add( "b" ) ;
    _lst.Items.Add( "c" ) ;
    _lst.Items.Add( "d" ) ;
    _lst.Items.Add( "e" ) ;
    bool paire = false ;
    for( int i = 0; i < _lst.Items.Count; i++ )
    {
    if( paire )
    {
    _lst.Items[i].Attributes.Add( "style", "background-color:green" ) ;
    paire = false ;
    }
    else
    {
    _lst.Items[i].Attributes.Add( "style", "background-color:red" ) ;
    paire = true ;
    }
    }
    

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 22
    Points : 26
    Points
    26
    Par défaut Coloriage
    Je ne l'ai pas tester, mais essai plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lst.Items[i].Attributes.Add( "background-color", "Couleur" ) ;
    Cordialement.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 57
    Points : 50
    Points
    50
    Par défaut
    Salut, pour les DropDownList, il faut faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Couleur.Items[i].Attributes.Add("style","background-color:" + Couleur.Items[i].Text);

    http://dotnet.developpez.com/faq/asp...rsdropdownlist


    Je viens de tester sur un listBox, c'est exactement la même chose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ListBox lstBox = new ListBox();
    lstBox.Items.Add(new ListItem("Salut"));
     
    lstBox.Items[0].Attributes.Add("style", "background-color:red");

  4. #4
    Membre régulier Avatar de luimême
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 176
    Points : 121
    Points
    121
    Par défaut
    et ben, ça marche pas....

    voici mon code :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    coté "aspx" :
    <form id="frmMain" name="frmMain" method="post" runat="server">
       ...<asp:Panel id="monPanel" Runat="server"></asp:Panel>
       ...<asp:listbox id="_lst" runat="server" Width="144px" Height="72px"></asp:listbox>....
    </form>
     
     
    coté ".cs" :
    protected System.Web.UI.WebControls.ListBox _lst;
    protected System.Web.UI.WebControls.Panel monPanel;
     
    privatevoid Page_Load(object sender, System.EventArgs e)
    { 
    _lst.Items.Add( new ListItem( "a" ) ) ;
    _lst.Items.Add( new ListItem( "b" ) ) ;
    _lst.Items.Add( new ListItem( "c" ) ) ;
     
    _lst.Items[0].Attributes.Add( "style", "background-color:red" ) ;
    _lst.Items[1].Attributes.Add( "style", "background-color:blue" ) ;
    _lst.Items[2].Attributes.Add( "style", "background-color:green" ) ;
     
    ListBox lstBox = new ListBox();
    lstBox.Items.Add(new ListItem("Salut")); 
    lstBox.Items[0].Attributes.Add("style", "background-color:red");
    monPanel.Controls.Add( lstBox ) ;
    }
    

    en html ça marche,
    mais là, ça ne veut pas.
    Et je ne sais pas pourquoi.

  5. #5
    Membre régulier Avatar de luimême
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 176
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par fnganiet
    Je ne l'ai pas tester, mais essai plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lst.Items[i].Attributes.Add( "background-color", "Couleur" ) ;
    Cordialement.
    j'ai essayé, mais cela ne marche pas non plus ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    Après quelques recherches, je suis parvenu à te trouver une solution et elle tient en quelques mots : "Tu ne peux pas utiliser la propriété style avec le contrôle serveur ListBox et pour preuve :
    http://support.microsoft.com/default...;en-us;Q309338

    La solution consiste à remplacer ton contrôle serveur ListBox par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <SELECT id="_lst" name="_lst" runat="server">
    puis dans ton code-behind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    bool paire = false ;
    for( int i = 0; i < _lst.Items.Count; i++ )
    {
       if( paire )
       {
          _lst.Items[i].Attributes.Add( "style", "background-color:green" ) ;
          paire = false ;
       }
       else
       {
          _lst.Items[i].Attributes.Add( "style", "background-color:red" ) ;
          paire = true ;
       }
    }
    J'ai testé, ça marche parfaitement.
    Cordialement.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 22
    Points : 26
    Points
    26
    Par défaut
    Petite précisions l'objet ASP.NET correspondant est :
    A ciao

  8. #8
    Membre régulier Avatar de luimême
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 176
    Points : 121
    Points
    121
    Par défaut
    problème résolu.

    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment changer la couleur d'un item d'une listBox?
    Par Mickey.jet dans le forum Delphi
    Réponses: 3
    Dernier message: 19/05/2006, 16h52
  2. Réponses: 5
    Dernier message: 09/05/2006, 15h57
  3. Réponses: 6
    Dernier message: 16/11/2005, 09h34

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