Affichage des colonnes un par un dans un datagriview

Mervelis Messages postés 10 Date d'inscription samedi 20 octobre 2018 Statut Membre Dernière intervention 18 août 2019 - 20 mars 2019 à 07:41
Mervelis Messages postés 10 Date d'inscription samedi 20 octobre 2018 Statut Membre Dernière intervention 18 août 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

6 réponses

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
20 mars 2019 à 07:42
Bonjour

peux tu expliquer mieux ton besoin?
0
Mervelis Messages postés 10 Date d'inscription samedi 20 octobre 2018 Statut Membre Dernière intervention 18 août 2019
20 mars 2019 à 08:23
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
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
20 mars 2019 à 16:09
Désolé je ne comprends toujours pas.
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
20 mars 2019 à 16:11
En plus ton titre parle de colonne et ton texte de rows (lignes)
0
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 5
21 mars 2019 à 14:47
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.
0
Mervelis Messages postés 10 Date d'inscription samedi 20 octobre 2018 Statut Membre Dernière intervention 18 août 2019
21 mars 2019 à 16:23
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
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 mars 2019 à 18:39
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
0
Mervelis Messages postés 10 Date d'inscription samedi 20 octobre 2018 Statut Membre Dernière intervention 18 août 2019
Modifié le 26 mars 2019 à 09:24
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 mars 2019 à 19:14
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
0
Mervelis Messages postés 10 Date d'inscription samedi 20 octobre 2018 Statut Membre Dernière intervention 18 août 2019
21 mars 2019 à 20:11
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
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 mars 2019 à 20:35
et si tu tapes 12, tu veux 1, 2 et 12 ou juste 12?
0
Mervelis Messages postés 10 Date d'inscription samedi 20 octobre 2018 Statut Membre Dernière intervention 18 août 2019 > Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024
21 mars 2019 à 21:08
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
0
Mervelis Messages postés 10 Date d'inscription samedi 20 octobre 2018 Statut Membre Dernière intervention 18 août 2019 > Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024
21 mars 2019 à 21:46
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
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 mars 2019 à 21:22
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.
0
Rejoignez-nous