Affichage des colonnes un par un dans un datagriview

Messages postés
9
Date d'inscription
samedi 20 octobre 2018
Statut
Membre
Dernière intervention
21 mars 2019
- - Dernière réponse : Mervelis
Messages postés
9
Date d'inscription
samedi 20 octobre 2018
Statut
Membre
Dernière intervention
21 mars 2019
- 21 mars 2019 à 21:46
Bonjour a tous, il y a environ 2 jours que je suis bloqué devant mon PC j'essaye d'afficher les éléments un par un de ma table access sur un datagriview depuis une textbox mais je n'arrive pas car sa m'affiche tout a la fois
quelqu'un peut m'aider a afficher le row one by one ? j'utilise l'evenement text_changed
aider moi svp. merci
Afficher la suite 

Votre réponse

6 réponses

Messages postés
13136
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 avril 2019
354
0
Merci
Bonjour

peux tu expliquer mieux ton besoin?
Mervelis
Messages postés
9
Date d'inscription
samedi 20 octobre 2018
Statut
Membre
Dernière intervention
21 mars 2019
-
Merci whismeril de me venir en aide. mon problème est d'afficher les rows d'une table un par un dans un datagridview depuis une textbox
Commenter la réponse de Whismeril
Messages postés
13136
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 avril 2019
354
0
Merci
Désolé je ne comprends toujours pas.
Whismeril
Messages postés
13136
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 avril 2019
354 -
En plus ton titre parle de colonne et ton texte de rows (lignes)
Commenter la réponse de Whismeril
Messages postés
488
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2019
3
0
Merci
Salut
Si je comprend bien les données circules comme ça:
>Base Access >TextBox > Datagridview.

??? Bizarre, Pourquoi passer par le textbox ???

il est possible que ça marche bien mais que cela va très vite et tu ne vois le datagridview se remplir d'un coup, car ca va trop vite.

essai avec un timer ou thead..... faire attendre une second par row.
Mervelis
Messages postés
9
Date d'inscription
samedi 20 octobre 2018
Statut
Membre
Dernière intervention
21 mars 2019
-
Bonjour ManuAntibes, vous m'avez bien compris. En faite j'utilise ce textbox pour m'aider a récupérer un élément dans la table access.
Donc j'ai créé une table appelée (Tproduit) et ce table contient les informations du produit et par ce textbox que je sélectionne le code produit pour afficher toute les informations de ce produit dans les colonnes de Datagridview. Le souci est que a chaque fois j'appel le code produit, que les colonnes de Datagridview soit rempli code par code ou 1/1.
Merci pour votre aide
Commenter la réponse de ManuAntibes
Messages postés
13136
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 avril 2019
354
0
Merci
Ha là c’est clair, tu veux filtrer ton affichage en fonction du contenu du textbox.

Peux tu poster le code avec lequel tu lis la base de données? Il y a plusieurs façons de faire, autant de répondre en fonction.

Merci de lire et d’appliquer ce qui est décrit là https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code pour poster le code
Mervelis
Messages postés
9
Date d'inscription
samedi 20 octobre 2018
Statut
Membre
Dernière intervention
21 mars 2019
-
undefined

Private Sub txtAchatCode_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAchatCode.TextChanged
        Try

            con = New OleDbConnection(cs)

            con.Open()
            cmd = New OleDbCommand("SELECT (ProductName) as [Nom de Produit],(Weight) as [Poids],(Price) as [Prix] from Product where Codebarre like '" & txtAchatCode.Text & "%' order by Codebarre", con)


            Dim myDA As OleDbDataAdapter = New OleDbDataAdapter(cmd)

            Dim myDataSet As DataSet = New DataSet()

            myDA.Fill(myDataSet, "Product")

            DataGridView1.DataSource = myDataSet.Tables("Product").DefaultView

            DataGridView2.DataSource = myDataSet.Tables("Product").DefaultView

            Panel2.Visible = True
            txtMTotal.Visible = True
            btnRegister.Visible = True
            btnPrint.Visible = True

            btnDelete.Visible = True
            Dim Total As Double
            For Each row As DataGridViewRow In DataGridView1.Rows
                Total = Total + row.Cells("Prix").Value

            Next
            txtTotal.Text = Total
            txtMTotal.Text = Total

            con.Close()
        Catch ex As Exception
         MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub
Commenter la réponse de Whismeril
Messages postés
13136
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 avril 2019
354
0
Merci
Bon en attendant qu'un modérateur remette en forme ton code, utiliser l'évènement textchanged pour l'accès à la BDD n'est pas forcément le mieux.

Imaginons que tu cherches l'article 123456789, ça va chercher 1, puis 12, puis 123 etc...
Bref tu vas faire autant d'accès à ta BDD qu'il y a de chiffres tapés dans ton code.
Si tu as 10 articles dans ta BDD, ça va le faire si t'en as 10 000, ça va pas être la même histoire.

Tu pourrais par exemple charger tous les produits dans un bindingsource et ensuite te servir de sa capacité de filtrer les champs depuis l'événement textChanged
Mervelis
Messages postés
9
Date d'inscription
samedi 20 octobre 2018
Statut
Membre
Dernière intervention
21 mars 2019
-
Oui j'ai utilisé l'événement textchanged, maisbce que je veux est qu'il soient afficher un par un est le tout reste dans la même DGV
par ex: si je tape 1, le 1 s'affiche a la DGV, si je tapd encore 2 le 2 aussi s'affiche a la DGV. Sans effacer le 1 qui était le 1er
Whismeril
Messages postés
13136
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 avril 2019
354 -
et si tu tapes 12, tu veux 1, 2 et 12 ou juste 12?
Mervelis
Messages postés
9
Date d'inscription
samedi 20 octobre 2018
Statut
Membre
Dernière intervention
21 mars 2019
> Whismeril
Messages postés
13136
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 avril 2019
-
si 12 existe dans la BDD s'affiche, mais s'il n'existe pas rien ne se passe. Donc la DGV affiche seulement les éléments qui son dans la BDD par ajout 1/1
Mervelis
Messages postés
9
Date d'inscription
samedi 20 octobre 2018
Statut
Membre
Dernière intervention
21 mars 2019
> Whismeril
Messages postés
13136
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 avril 2019
-
j'ai essayé sa bien marché, mais la colonne ne garde pas le 1er code. ce que je veux est l'information qui apparaitra le 1er apres l'arrivé du 2em code ne soit pas supprimé. en plus pour retirer le code dans BDD j'utilise une douchette
merci
Commenter la réponse de Whismeril
Messages postés
13136
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 avril 2019
354
0
Merci
Donc, il ne faut pas utiliser TextChanged.

Ce que tu peux faire, c'est une list(of string).
Tu tapes ton code et tu valides la touche "Entré", dans l'évènement KeyPress tu pistes quand la touche "Entré" est tapée.
Là tu ajoutes le texte dans la liste, et tu fais une requête qui cherche tous les éléments de la liste.
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.