Exemple de formulaire Visual Basic .NET avec DataGridView et fonctionnalités d’ajout, modification, suppression et recherche de données
DataGridView et fonctionnalités d’ajout, modification, suppression et recherche de données
Assurez-vous d’implémenter ces étapes dans votre projet Visual Basic .NET pour créer le formulaire avec les fonctionnalités d’ajout, de modification, de suppression et de recherche dans le DataGridView.
Conception (design) :
Notez que ce code est juste un exemple et qu’il peut être amélioré pour prendre en compte des erreurs de l’utilisateur et d’autres fonctionnalités avancées.
Imports System.Text.RegularExpressions
Public Class frmTP8_DataGridView
' Méthode pour vider les champs de saisie
Private Sub ViderChamps()
txtNum.Text = ""
txtNom.Text = ""
txtEmail.Text = ""
End Sub
' Méthode pour ajouter une ligne dans le DataGridView
Private Sub AjouterLigne()
' Afficher un message en fonction du résultat de la validation
If Not isEmailValid(txtEmail.Text) Then
MessageBox.Show("Adresse e-mail invalide.", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtEmail.Focus()
Return
End If
Dim row As String() = {txtNum.Text, txtNom.Text, txtEmail.Text}
dgvUsers.Rows.Add(row)
ViderChamps()
End Sub
' Méthode pour modifier une ligne dans le DataGridView
Private Sub ModifierLigne()
If dgvUsers.SelectedCells.Count > 0 Then
Dim rowIndex As Integer = dgvUsers.SelectedCells(0).RowIndex
dgvUsers.Rows(rowIndex).Cells(0).Value = txtNum.Text
dgvUsers.Rows(rowIndex).Cells(1).Value = txtNom.Text
dgvUsers.Rows(rowIndex).Cells(2).Value = txtEmail.Text
ViderChamps()
End If
End Sub
' Méthode pour supprimer une ligne du DataGridView
Private Sub SupprimerLigne()
'If MessageBox.Show("Supprimer"
If dgvUsers.SelectedCells.Count > 0 Then
Dim rowIndex As Integer = dgvUsers.SelectedCells(0).RowIndex
dgvUsers.Rows.RemoveAt(rowIndex)
ViderChamps()
End If
End Sub
' Méthode pour effectuer une recherche dans le DataGridView
Private Sub Rechercher()
Dim valeurRecherchee As String = txtRecherche.Text.ToLower()
For Each row As DataGridViewRow In dgvUsers.Rows
For Each cell As DataGridViewCell In row.Cells
If cell.Value IsNot Nothing AndAlso cell.Value.ToString().ToLower() = valeurRecherchee Then
cell.Selected = True
dgvUsers.CurrentCell = cell
Exit Sub
End If
Next
Next
MessageBox.Show("Aucun résultat trouvé pour la recherche.", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Sub
' Événement déclenché lors du clic sur le bouton "Rechercher"
Private Sub btnRecherche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRecherche.Click
Rechercher()
End Sub
' Événement déclenché lors du clic sur le bouton "Ajouter"
Private Sub btnAjouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAjouter.Click
AjouterLigne()
End Sub
' Événement déclenché lors du clic sur le bouton "Modifier"
Private Sub btnModifier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnModifier.Click
ModifierLigne()
End Sub
' Événement déclenché lors du clic sur le bouton "Supprimer"
Private Sub btnSupprimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSupprimer.Click
SupprimerLigne()
End Sub
' Afficher les valeurs de la ligne sélectionnée dans les champs de saisie
Private Sub dgvUsers_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvUsers.CellClick
If dgvUsers.SelectedRows.Count >= 0 Then
Dim numLigne As Integer = dgvUsers.SelectedCells(0).RowIndex
txtNum.Text = dgvUsers.Rows(numLigne).Cells(0).Value
txtNom.Text = dgvUsers.Rows(numLigne).Cells(1).Value
txtEmail.Text = dgvUsers.Rows(numLigne).Cells(2).Value
End If
End Sub
Private Sub frmDataGridView_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Définir les titres des colonnes du DataGridView
dgvUsers.ColumnCount = 3
dgvUsers.Columns(0).Name = "Num"
dgvUsers.Columns(1).Name = "Nom"
dgvUsers.Columns(2).Name = "Email"
' Définir le mode de sélection pour une ligne entière
dgvUsers.SelectionMode = DataGridViewSelectionMode.FullRowSelect
dgvUsers.AllowUserToAddRows = False
dgvUsers.EditMode = DataGridViewEditMode.EditProgrammatically
End Sub
'Private Sub dgvUsers_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgvUsers.SelectionChanged
' If dgvUsers.SelectedRows.Count > 0 Then
' Dim selectedRow As DataGridViewRow = dgvUsers.SelectedRows(0)
' txtNum.Text = selectedRow.Cells("Num").Value.ToString()
' txtNom.Text = selectedRow.Cells("Nom").Value.ToString()
' txtEmail.Text = selectedRow.Cells("Email").Value.ToString()
' End If
'End Sub
Function isEmailValid(ByVal email As String)
' Vérifier si l'e-mail est valide en utilisant une expression régulière
Dim pattern As String = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
Return Regex.IsMatch(email, pattern)
' Afficher un message en fonction du résultat de la validation
'If isEmailValid Then
' MessageBox.Show("Adresse e-mail valide.")
'Else
' MessageBox.Show("Adresse e-mail invalide.")
'End If
End Function
End Class