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 :

[DATAGRIDVIEW - EVENT] Sur un bouton et suppression de ligne.


Sujet :

VB.NET

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Points : 144
    Points
    144
    Par défaut [DATAGRIDVIEW - EVENT] Sur un bouton et suppression de ligne.
    Bonjour,

    J'ai un datagridview de ce type :




    Les colones 1 et 2 sont remplis par un dataset.

    Les colonnes 3 et 4 sont générées par ce bout de 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
        ' --- Initialisation du Bouton MODIFIER
            Dim boutonmodifier As New DataGridViewButtonColumn
            ' --- Déclaration des paramètres du bouton MODIFIER
            With boutonmodifier
                .HeaderText = "MODIFIER"
                .Name = "modifier"
                .Text = "M"
                .UseColumnTextForButtonValue = True
            End With
     
            ' --- Initialisation du bouton SUPPRIMER
            Dim boutonsupprimer As New DataGridViewButtonColumn
            ' --- Déclaration des paramètres du bouton SUPPRIMER
            With boutonsupprimer
                .HeaderText = "SUPPRIMER"
                .Name = "supprimer"
                .Text = "X"
                .UseColumnTextForButtonValue = True
            End With
     
            ' --- Affichage des boutons dans les colonnes 2 et 3 
            DATA_SAVE.Columns.Insert(2, boutonmodifier)
            DATA_SAVE.Columns.Insert(3, boutonsupprimer)
     
            ' --- Lecture seule des données de la table TYPE_PERIPHERIQUE
            DATA_SAVE.Columns(0).ReadOnly = True
            DATA_SAVE.Columns(1).ReadOnly = True
     
     
            ' ------------------------------
            ' ---- TEST DE MISE EN FORME
            boutonsupprimer.DefaultCellStyle.BackColor = Color.OrangeRed
            boutonmodifier.DefaultCellStyle.BackColor = Color.LightGreen
    Je voudrais savoir comment faire pour :

    - Lorsque l'utilisateur clic sur un Bouton "Modifier" ou "Supprimer" ça me lance un evennement avec en paramètre le numéro de l'enregistrement (colonne 1)?
    - Comment supprimer la dernière ligne (création d'enregistrement)?


    Merci d'avance pour votre aide,

    .Matt

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Points : 144
    Points
    144
    Par défaut
    Donc j'ai un peu avancé j'ai mis ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      Private Sub DataGridView1_CellMouseClick(ByVal sender As Object, ByVal e As DataGridViewCellMouseEventArgs) _
         Handles DATA_SAVE.CellMouseClick
     
            MessageBox.Show("test")
        End Sub
    Dés que je clique n'importe ou sur le DATAGRIDVIEW ça m'affiche une MessageBox.

    Si quelqu'un sait comment récupérer les coordonnés du clique de souris et supprimer la dernière ligne.


    Merci d'avance pour votre aide,

    .Matt

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Points : 144
    Points
    144
    Par défaut
    Bon ben j'ai trouvé comment récupérer l'index de la ligne et de la colonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        ' *** CLIQUES SUR LE DATAGRIDVIEW
        Private Sub DataGridView1_CellMouseClick(ByVal sender As Object, ByVal e As DataGridViewCellMouseEventArgs) _
         Handles DATA_SAVE.CellMouseClick
     
            ' --- Déclaration des variables
            Dim ligne As Integer
            Dim colonne As Integer
     
            ' --- Récupération des lignes et colonnes
            ligne = Me.DATA_SAVE.CurrentRow.Index
            colonne = Me.DATA_SAVE.CurrentCell.ColumnIndex()
     
        End Sub

    Si quelqu'un sait comment supprimer la dernière ligne.


    Merci,

    .Matt

  4. #4
    Membre averti
    Avatar de Ogotcha
    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Points : 398
    Points
    398
    Par défaut
    Essai un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if e.ColumnIndex = index de la colonne du bouton supprimer then
    'ici le code pour supprimer ta ligne (a tester)
    dataGridView.Rows.Remove(e.rowindex)
    end if

  5. #5
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Points : 144
    Points
    144
    Par défaut
    Merci pour ta réponse.

    Mais ça ne me permet pas de supprimer la ligne de création :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATA_SAVE.Rows.Remove(Me.DATA_SAVE.Rows(index_creation))
    ça me met :

    Impossible de supprimer la nouvelle ligne non validée.

    Merci d'avance pour votre,

    .Matt

  6. #6
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    bonjour;
    Essaye d'utiliser ce code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private sub Supprimerbutton_click()
    if datagridview.SelectedRows.count > 0 AndAlso Not datagridview.SelectedRows(0).Index = datagridview.Rows.RemoveA (datagridview.SelectedRows(0).Index
    end if
    end sub
    et puis t'as qu'à sélectionner la ligne à supprimer dans ta datagridview.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/10/2010, 18h10
  2. Event sur Combobox dans datagridview
    Par olibara dans le forum Windows Forms
    Réponses: 6
    Dernier message: 20/08/2009, 18h11
  3. image sur le bouton d'un datagridview
    Par Annuler_0 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/07/2008, 10h48
  4. LinkButton créé sur à un Click event d'un Bouton
    Par Poussy-Puce dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/12/2007, 13h07
  5. mettre un Event sur un DatagridView.ButtonColomn
    Par 2020 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 27/06/2007, 18h06

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