1. #1
    Membre du Club
    Profil pro
    Inscrit en
    mars 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : mars 2009
    Messages : 195
    Points : 62
    Points
    62

    Par défaut Colonne en trop dans une ListView

    Bonjour à tous,

    j'ai créé 3 colonnes personnalisées dans une ListView, mais à l'affichage, une 4 ème colonne apparaît. Je n'arrive pas à la supprimer.
    J'ai pourtant je crois correctement contsruit ma ListView.

    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
     
    // Liste de Commandes
                ColumnHeader colPlat = new ColumnHeader();
                colPlat.Text = "Plat";
                colPlat.Width = 350;
                colPlat.TextAlign = HorizontalAlignment.Left;
     
                ColumnHeader colQuantite = new ColumnHeader();
                colQuantite.Text = "Quantité";
                colQuantite.Width = -2;
                colQuantite.TextAlign = HorizontalAlignment.Right;
     
                ColumnHeader colPrix = new ColumnHeader();
                colPrix.Text = "Prix";
                colPrix.Width = -2;
                colPrix.TextAlign = HorizontalAlignment.Right;
                //ticketCaisse.Columns.AddRange(new ColumnHeader[] { colPlat, colQuantite, colPrix });
     
                ticketCaisse.Columns.Add(colPlat);
                ticketCaisse.Columns.Add(colQuantite);
                ticketCaisse.Columns.Add(colPrix);
                ticketCaisse.View = System.Windows.Forms.View.Details;
                ticketCaisse.AllowColumnReorder = false;
                ticketCaisse.FullRowSelect= true;
                ticketCaisse.Scrollable = false;
    Auriez-vous une idée?

    Merci

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    3 890
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 3 890
    Points : 5 650
    Points
    5 650

    Par défaut

    Bonsoir,
    Citation Envoyé par paintbox Voir le message
    (...)

    Auriez-vous une idée?

    Merci
    Oui, une petite : la largeur de ta Listview est probablement plus grande que la somme (augmentée de quelques pixels pour les traits de séparation, je pense) des largeurs de tes 3 colonnes. À voir...

    PS : normal que 2 de tes colonnes aient une largeur négative :colPrix.Width = -2;
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    mars 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : mars 2009
    Messages : 195
    Points : 62
    Points
    62

    Par défaut

    Bonjour, merci pour ton aide.

    En fait, la largeur négative (-1 ou -2) était volontaire. Voir lien : http://my.safaribooksonline.com/book...s/ch07lev1sec5


    Width specifies the column's width in pixels. It is set to –1 to size automatically to the largest item in the column, or –2 to size to the width of the header.

    C'est ce qui m'a induit en erreur. J'ai donc mis une taille fixe à chacune de mes colonnes.
    La valeur négative fonctionne, mais une 4 eme colonne apparait alors.

    Je checrche également à appliquer un style de fontparticulier à la dernière colonne (Prix) exemple mettre en gras ou rouge. Je n'y arrive pas. Est-ce possible et sais tu comment?

    Merci.

  4. #4
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    3 890
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 3 890
    Points : 5 650
    Points
    5 650

    Par défaut

    Citation Envoyé par paintbox Voir le message
    (...) Je cherche également à appliquer un style de font particulier à la dernière colonne (Prix) exemple mettre en gras ou rouge. Je n'y arrive pas. Est-ce possible et sais-tu comment ?

    Merci.
    Je ne sais pas... Je passe la main.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    janvier 2006
    Messages
    5 992
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2006
    Messages : 5 992
    Points : 7 877
    Points
    7 877

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ListViewItem item1 = new ListViewItem( "Item 1");
    item1.SubItems.Add( "Item 1.SubItem 1" );
    item1.SubItems[1].BackColor = Color.FromArgb( -16711936 );
    item1.UseItemStyleForSubItems = false;
    item1.SubItems[1].Font = new Font(item1.SubItems[1].Font,item1.SubItems[1].Font.Style | FontStyle.Bold);
    listView1.Items.Add( item1 );
    Je pense qu'il faut définir les attributs des SubItem avant d'ajouter l'item à la ListView.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    mars 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : mars 2009
    Messages : 195
    Points : 62
    Points
    62

    Par défaut

    Hello Graffito,
    c'est effectivement exacte. Il fallait définir les attributs avant de les ajouter à l'Item de la ListView.

    Merci à vous 2 pour votre aide !

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

Discussions similaires

  1. Selectionner une colonne dans une listview
    Par jfdmagic dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 27/04/2009, 15h16
  2. Controle en trop dans une listview
    Par kinon dans le forum ASP.NET
    Réponses: 0
    Dernier message: 12/03/2009, 13h39
  3. Recuperer la valeur d'un colonne dans une listview
    Par skunkies dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/01/2009, 16h26
  4. Largeur d'une colonne dans une listview
    Par soso78 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 04/01/2008, 12h17
  5. Une colonne en plus dans ma ListView...
    Par James_ dans le forum C++Builder
    Réponses: 5
    Dernier message: 02/09/2003, 23h30

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