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

C# Discussion :

Suppression d'une ligne dans une listview


Sujet :

C#

  1. #1
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut Suppression d'une ligne dans une listview
    bonjour,
    je cherche le moyen de supprimer une ligne dans une listview.
    si je double-clic sur une ligne de ma listview, je voudrais pourvoir la supprimer apres confirmation par dialogresult.
    J'ai beau cherché je ne trouve rien :/

    En réalité, j'arrive a supprimer une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listview.Items[i].ListView.Items.Remove(myItem);
    Mais comment récuperer le i (correspondant a l'item à supprimer) en double cliquant sur la ligne ?

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Lorsque tu double-click sur un item d'un listview, cet item est censé être sélectionné.

    tu le trouveras donc dans la propriété renseignant les items sélectionnés et qui est :


  3. #3
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    bonjour,

    la propriété SelectedItems ne semble pas exister pour une listview.
    En revanche il y a la propriété Item_activate...

    j'ai donc codé la méthode ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void listview_itemActivate(object sender, EventArgs e)
    {
         listview.Items.Remove((ListViewItem) sender);
    }
    mais il n'aime pas :/

  4. #4
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    C'est normal, sender représente le listview.

    Quel framework utilises tu ? 1.1, 2.0, 3.0 ou 3.5 ?

  5. #5
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    2.0, mais risque d'etre en compact vu que je met le programme sur une douchette

  6. #6
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Utilise SelectedIndices alors, c'est compatible avec le compact framework.

    http://msdn.microsoft.com/fr-fr/libr...edindices.aspx

  7. #7
    Membre habitué
    Avatar de Spidermeu
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 147
    Points : 151
    Points
    151
    Par défaut
    merci pour cette réponse.

    Malheureusement, je ne vois toujours pas comment récupérer l'index sélectionné.
    Dans l'exemple msdn, on créé juste un indexeur qui ne me donne pas la technique pour récupérer l'élément sélectionné.

    Pour info, lorsque je saisie le code suivant, il me supprime toujours la derniere ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     private void ListView1_SelectedIndexChanged_UsingIndices(
            object sender, System.EventArgs e)
        {
     
            ListView.SelectedIndexCollection indexes = 
                this.ListView1.SelectedIndices;
     
            foreach ( int index in indexes )
            {
                    this.ListView1.Items[index].ListView.Items.Remove(myitem);
            }
        }

    EDIT : c'est bon, je me suis corrigé.... je me trompais dans la suppression de l'item. En effet, je supprimais le dernier élément créer ( myItem).
    Dans le foreach , il faut juste modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        foreach ( int index in indexes )
            {
                    listView1.Items.RemoveAt(index);
            }

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 21/10/2009, 13h31
  2. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  3. [E-00] Syntaxe pour insérer une ligne ou une colonne dans une feuille
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/02/2009, 09h27
  4. [MySQL] inserer une ligne d'une table dans une autre table
    Par piero53 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 14/12/2008, 18h29
  5. Réponses: 3
    Dernier message: 29/01/2008, 12h08

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