none
DatagridView et BindingNavigator RRS feed

  • Question

  • Bonjour,

    Je rencontre un problème avec un DataGridView et un BindingNavigator.

    Le BindingNavigator est utilisé pour se déplacer dans les lignes du DataGridView et ajouter ou supprimer des lignes.

    L'ajout de lignes fonctionne correctement. Par compte la suppression de lignes ne fonctionne qu'à la première suppression. Ensuite, lors de la seconde suppression, une erreur du type "impossible de supprimer la ligne car la ligne n'est pas validée".

    De plus les fonctions de navigation dans le BindingNavigator ne fonctionnent pas pour se déplacer dans les lignes de la DataGridView.

    Le code utilisé est le suivant :

    Public Class Form1
        Private Bindsource As BindingSource
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            With DataGridView1
                Bindsource = New BindingSource
                Bindsource.DataSource = .Rows
                BindingNavigator1.BindingSource = Bindsource
            End With
        End Sub

    End Class


    • Modifié MarcelD22 jeudi 6 août 2020 13:35
    jeudi 6 août 2020 13:34

Réponses

  • Bonjour,

    ici l'utilisation du BindingSource est disant inversé, l'objectif d'un binding source c'et de fournir une source de donnees pour de multiple consomateur ou subscriber, voici un example:

    ' vous pouvez utiliser un data adapter ou autre moyen
    ' pour remplir le dataset
    
    
    DIM dataAdapter = new SqlDataAdapter("parametre pour initialiser") ' ici l'adapter est juste comme example 
    DIM dataset = New DataSet()
    DIM bindingSource = New BindingSource()
    DIM bindnav  = New BindingNavigator(true)
    
    
    dataAdapter.Fill(dataset, "nom-de-table")
    bindingSource.DataSource = dataset
    
    bindingNavigator.BindingSource = bindingSource
    dataGridView1.DataSource = bindingSource

    dans l'exemple tout les elements pointent vers le bindingSource qui contient les lignes de donnees.

    pour la propriete AllowUserToAddRows elle juste pour l'ajout, je pense que vous voulez dire AllowUserToDeleteRows.

    Cordialement,

    Mouad. 

    vendredi 7 août 2020 17:13

Toutes les réponses

  • Pour l'erreur de suppression de ligne, elle est corrigée avec la propriété AllowUserToAddRows = False.

    Par contre, impossible de faire fonctionner la navigation dans les lignes sans ajouter du code spécifique. Cela doit fonctionner en auto.

    jeudi 6 août 2020 16:32
  • Bonjour,

    ici l'utilisation du BindingSource est disant inversé, l'objectif d'un binding source c'et de fournir une source de donnees pour de multiple consomateur ou subscriber, voici un example:

    ' vous pouvez utiliser un data adapter ou autre moyen
    ' pour remplir le dataset
    
    
    DIM dataAdapter = new SqlDataAdapter("parametre pour initialiser") ' ici l'adapter est juste comme example 
    DIM dataset = New DataSet()
    DIM bindingSource = New BindingSource()
    DIM bindnav  = New BindingNavigator(true)
    
    
    dataAdapter.Fill(dataset, "nom-de-table")
    bindingSource.DataSource = dataset
    
    bindingNavigator.BindingSource = bindingSource
    dataGridView1.DataSource = bindingSource

    dans l'exemple tout les elements pointent vers le bindingSource qui contient les lignes de donnees.

    pour la propriete AllowUserToAddRows elle juste pour l'ajout, je pense que vous voulez dire AllowUserToDeleteRows.

    Cordialement,

    Mouad. 

    vendredi 7 août 2020 17:13
  • Bonjour MarcelD22,

    Avez-vous avancé dans votre projet? Pouvons-nous considérer que vous avez résolu votre problème avec le scénario proposé? Si la dernière réponse vous a aidé, n'oubliez pas de marquer comme réponse.
    Merci!

    Cordialement,
    Nina

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    lundi 31 août 2020 10:49
    Modérateur