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 :

supprimer plusieurs lignes d'une datagridview


Sujet :

VB.NET

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Points : 120
    Points
    120
    Par défaut supprimer plusieurs lignes d'une datagridview
    bonjour

    j'ai une datagridview qui est lié à une table de base de données.

    soit le code:
    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
    26
    27
    28
    29
    30
    31
    32
    33
     
     
    Dim bTab As DataTable
     
    'procédure d'extraction de données
    Private Sub ExecuteLMD(ByVal bSql As String, ByVal bTable As String)
            Dim CMD As New SqlCommand(bSql)
            Dim Dadpter As New SqlDataAdapter(CMD)
            bTab = New DataTable
            Dim Dset = New DataSet
            CMD.Connection = SqlCon
            Dadpter.Fill(Dset, bTable)
            bTab = Dset.Tables(bTable)
    End Sub
     
    ExecuteLMD("select * from t_table", "t_table")
    datagridview.DataSource = bTab
     
    Private Sub ExecuteLDD(ByVal bSql As String)
            Dim sqlCMD As New SqlCommand
            Dim Dadpter As New SqlDataAdapter
            bTab=new DataTable
            Dim Dset As DataSet
            Dim CMD As New sqlCommand
            SqlCon.Open()
            CMD.Connection = SqlCon
            CMD.CommandText = bSql
            CMD.ExecuteNonQuery()
            SqlCon.Close()
    End Sub
     
    'suppression d'un ligne de la grille
    ExecuteLDD("delete from t_table where clefprimaire='NclP'")
    voilà le code pour effacer une ligne de la datagridview
    aidez moi à supprimer plusieurs lignes sélectionnées en même temps

    merci d'avance

  2. #2
    Membre régulier
    Inscrit en
    Mai 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 72
    Points : 100
    Points
    100
    Par défaut
    Bonjour,

    Ce que tu peux faire, c'est parcourir les lignes selectionnées de ton datagridview en faisant un for each sur datagridview.SelectedRows, et dans chaque itération tu appeler ta Sub ExecuteLDD en lui passant en paramètre ce qu'il doit supprimer.

    Après, ou tu recharge tes données, ou alors tu peux passer la row en Visible = false pour qu'elle ne soit plus visible. C'est pas très jojo mais ça fera ce que tu veux.

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Points : 120
    Points
    120
    Par défaut
    mille excuses @supermouton

    je fouille mais je ne trouve rien
    comment je fais pour récupérer les lignes sélectionnées et les effacer

  4. #4
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    For Each row in DataGridView.SelectedRows
    ExecuteLDD(row.Cells[0].value.Tostring())'0 ou bien ID de ta ligne

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Points : 120
    Points
    120
    Par défaut
    je travaille avec vb 2008 et "Cells" ne fait pas partie des méthodes de "row".
    Si je pouvais avoir les numéros (ou index) des lignes sélectionnées (RowNumber), ça irait plus vite.
    je pourrais alors faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For each RowNumber ...
             ExecuteLDD("delete from t_table where (clefprimaire='" & datagridview.Item("ClePrimaire",RowNumber).Value & "')")
    Next
    S'il y a une autre méthode, je suis preneur.
    merci.

  6. #6
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For Each row As DataGridViewRow In DataGridView1.SelectedRows
              '  row.Cells(0).Value 
                'row.Index indexof row
            Next

  7. #7
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Points : 120
    Points
    120
    Par défaut
    ça marche sans problème.
    le problème se trouvait au niveau du type de la variable "row"

    mille merci

  8. #8
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    de rien

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/05/2012, 13h32
  2. Supprimer plusieurs caractères en une ligne de code
    Par gianni17 dans le forum Langage
    Réponses: 4
    Dernier message: 17/06/2011, 11h01
  3. Réponses: 3
    Dernier message: 08/03/2010, 05h29
  4. supprimer plusieurs lignes d'une table
    Par hajarussa dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 20/01/2009, 10h16
  5. Réponses: 2
    Dernier message: 26/08/2008, 15h48

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