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

Windows Forms Discussion :

Colonne en trop dans une ListView


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Points : 96
    Points
    96
    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 éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 133
    Points
    15 133
    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 régulier
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Points : 96
    Points
    96
    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 éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 133
    Points
    15 133
    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 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    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 régulier
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Points : 96
    Points
    96
    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