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 :

Copier un listview


Sujet :

Windows Forms

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 95
    Par défaut Copier un listview
    bonjour,

    J'ai un listview qui se remplit préalablement, et qui possède plusieur colonne dont le nombre est indéfini.
    Je voudrais cloner ce listview au complet dans une autre listview, mais j'ai éssayé plein de chose et toujours le même résultat.
    Ou ça copie juste la première colonne, ou alors ca implante quelque chose mais non accessible.

    Quelqu'un pourrais m'aider merci

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Je ne comprends pas bien ton soucis; ca ne marche pas si tu fais quelque chose comme cela :


    Chez moi, ce bout de code copie un listview en dessous du précédent, avec son contenu.

    (je te laisse traduire en VB)

    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
     
         private ListView CloneListView(ListView lvOrigin)
            {
                ListView lvNew = new ListView();
                lvNew.View = lvOrigin.View;
                lvNew.Name = lvOrigin.Name + "_NEW";
                lvNew.Top = lvOrigin.Top + lvOrigin.Height;
                lvNew.Height = lvOrigin.Height;
                lvNew.Left = lvOrigin.Left;
                lvNew.Width = lvOrigin.Width;
                foreach (ColumnHeader lvCol in lvOrigin.Columns)
                {
                    lvNew.Columns.Add((ColumnHeader)lvCol.Clone());
                }
                foreach (ListViewItem item in lvOrigin.Items)
                {
                    lvNew.Items.Add((ListViewItem)item.Clone());
                }
                return lvNew;
            }
    Tu l'appelles comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                ListView lv = CloneListView(listView1);
                this.Controls.Add(lv);
    Et le tour est joué.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 95
    Par défaut
    Merci mais j'ai réussis à trouver un peu plus court :
    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
        Dim lv As New ListView
        For i As Integer = 0 To ListView1.Columns.Count - 1
          lv.Columns.Add(ListView1.Columns(i).Clone)
        Next
        For i As Integer = 0 To ListView1.Items.Count - 1
          lv.Items.Add(ListView1.Items(i).Clone)
        Next
        'Opérations sur lv
        ListView1.Columns.Clear()
        For i As Integer = 0 To lv.Columns.Count - 1
          ListView1.Columns.Add(lv.Columns(i).Clone)
        Next
        ListView1.Items.Clear()
        For i As Integer = 0 To lv.Items.Count - 1
          ListView1.Items.Add(lv.Items(i).Clone)
        Next
    Par contre ton code marche aussi une fois mis en VB.NET

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

Discussions similaires

  1. [XL-2007] ListView - Copier uniquement les lignes cochées dans une autre ListView
    Par BenHK dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/12/2009, 01h46
  2. Copier une image d'un item d'une listview ?
    Par troxsa dans le forum Windows Forms
    Réponses: 2
    Dernier message: 17/07/2008, 15h40
  3. copier une listview
    Par cortex59 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/05/2008, 21h35
  4. Copier coller sur une listView
    Par themahg dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/05/2008, 12h21
  5. Copier les items d'un ListView vers un Combobox
    Par rvdth dans le forum Windows Forms
    Réponses: 2
    Dernier message: 28/03/2008, 14h14

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