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

VB.NET Discussion :

Suppression d'une ligne [Fait]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 58
    Par défaut Suppression d'une ligne
    Bonjour,

    Je fais de nouveau appelle a vous.

    Mon problème semble simple.

    j'ai une datagridview liée à une table par un bindingsource.

    Je souhaite lorsque je sélectionne une ligne, puis en cliquant sur un bouton que la ligne selectionnée soit supprimer.

    J'arrive a supprimer une ligne en essayant ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub SupprimerPictureBox_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles SupprimerPictureBox.Click
     
    Me.ProjetDataSet.TableProjet.Rows(0).Delete()
        End Sub
    Alors forcement il me supprime toujours la même ligne, celle correspondant à rows(0).

    Par quoi dois-je remplacer 0 pour que ce soit la ligne selectionner qui soit supprimer.

    De plus les données de cette ligne doivent être supprimées de ma BDD (mais ça je verrai après)

    Merci pour votre éclairage.

    Elumastebit

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    DataGridView a une propriété CurrentRow qui indique quelle est la ligne sélectionnée (ça renvoie un objet de type DataGridViewRow). Cette ligne a une propriété DataBoundItem qui, dans le cas d'un binding avec une DataTable, renvoie un DataRowView. Enfin, le DataRowView a une propriété Row qui renvoie un DataRow, qui correspond à la ligne dans ta DataTable. Donc pour supprimer la ligne sélectionnée tu dois pouvoir faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub SupprimerPictureBox_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles SupprimerPictureBox.Click
        Dim drv As DataRowView = CType(DataGridView1.CurrentRow.DataBoundItem, DataRowView)
        drv.Row.Delete()
    End Sub
    Ou alors, (beaucoup) plus simple : tu laisse l'utilisateur supprimer la ligne en appuyant sur Suppr. Ou encore, tu la supprimes directement du DataGridView avec DataGridView1.Rows.Remove(DataGridView1.CurrentRow)... Bref, il y a le choix.

    Pour la mise à jour de la base de données, je te suggère d'utiliser un DataAdapter (cf. ce tutoriel)

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 58
    Par défaut
    Impeccable!

    Net clair et précis! je test ça ce soir et vous tient au courant.

    Merci beaucoup.

    elumastebit

  4. #4
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 58
    Par défaut
    Effectivement ça marche impeccable pour la supression, reste la mise à jour avec l'adapter et même après avoir lu le tuto et trituré la chose dans tous les ens (schéma des liens) je me bat sévère...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub SupprimerPictureBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SupprimerPictureBox.Click
    'suppression de la ligne active
          Dim drv As DataRowView = CType(ProjetDGV.CurrentRow.DataBoundItem, DataRowView)
            drv.Row.Delete()
    'MAJ de la BDD 
           Me.TableProjetTableAdapter.Update(ProjetDataSet)
        End Sub
    Il me dit: Update requiert un DeleteCommand valide lors du passage de la collection DataRow avec des lignes supprimées.


    Merci encore.

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Elumastebit Voir le message
    Il me dit: Update requiert un DeleteCommand valide lors du passage de la collection DataRow avec des lignes supprimées.
    Ben il faut définir dans l'adapter l'instruction SQL qui delete la ligne... Ton adapter, c'est le designer qui l'a généré ou c'est toi ?

  6. #6
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 58
    Par défaut
    Ben il faut définir dans l'adapter l'instruction SQL qui delete la ligne...


    Euh c'est le designer qui l'a généré pour le reste de ta phrase j'ia pas bien compris...

Discussions similaires

  1. [JTABLE] suppression d'une ligne (prise de tete)
    Par uraxyd dans le forum Composants
    Réponses: 1
    Dernier message: 14/12/2005, 19h19
  2. Réponses: 3
    Dernier message: 19/09/2005, 13h20
  3. [Debutant][JTable] Suppression d'une ligne
    Par seiryujay dans le forum Composants
    Réponses: 7
    Dernier message: 03/08/2005, 17h15
  4. [JTable] problème après suppression d'une ligne
    Par fredo3500 dans le forum Composants
    Réponses: 7
    Dernier message: 17/03/2005, 10h01
  5. Réponses: 6
    Dernier message: 04/03/2004, 09h35

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