Ajout colonne DataGridView

Signaler
Messages postés
132
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 mai 2017
-
Messages postés
132
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 mai 2017
-
Bonjour,

J'ai un énorme soucis que je ne sais résoudre, je liste les champs d'une table que je veux ajouter dans mon DataGrid.
Pour cela j'utilise la commande :

Me.DataGrid.Rows.Add(maRow("NomChp1"), maRow("NomChp2"), maRow("NomChp3"), maRow("NomChp4"))

Lorsque j'essaie avec le nom de mes champs en dur cela fonctionne sans problème mais voilà lorsque je liste tous mes noms de champs de ma table et que j'essaie avec la fonction ci-dessus d'ajouter les valeurs qui sont attribuées à chaque champs ça ne fonctionne pas.

Je sais qu'en Windev il existe la fonction {"maRow("} + NomChp1 + {")"} ce qui fonctionne bien puisque cela reprend l'écriture de maRow("NomChp1") mais en VB.Net je colle.

Bon je pense que j'ai embrouillé tout le monde donc je vais vous mettre le code que j'ai fait peut-être que cela sera plus compréhensible :

Dim maRow As DataRow

For u = 0 To 30
    test = test & "maRow(" & Me.DataGrid.Columns(u).Name & "'),"
    System.Windows.Forms.Application.DoEvents()
Next

For Each maRow In DataSet.Tables(Me.CMB_TABLE.Text).Rows

     'Mon problème
     Me.DataGrid.Rows.Add(Microsoft.VisualBasic.Left(test, Microsoft.VisualBasic.Len(test) - 1))

     'Cela fonctionne puisque les champs ainsi que l'objet maRow est saisie en dur
     'Me.DataGrid.Rows.Add(maRow("ID"), maRow("ID_COULEE"), maRow("NATURE_PRODUIT"), maRow("DATE_COULEE"))

      System.Windows.Forms.Application.DoEvents()
Next

J'espère que vous pourrez m'aider dans ce problème qui malheureusement m'empêche d'aller plus loin.

Merci d'avance à tous.

Johann36

3 réponses

Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
pour ajouter une colonne :
DataGridView.Columns.Add(

"columnName",
"HeaderText")

Bonjour chez vous !
Messages postés
132
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 mai 2017

Mince !!!


Enfaite je viens de m'apercevoir que ce que j'ai dit c'était pas tout à
fait mon problème (j'ai pas fait attention à ce que j'ai écrit).


Lorsque j'ai marqué :
<!-- BEGIN TEMPLATE: bbcode_quote -->

Citation:
J'ai un énorme soucis que je ne sais résoudre, je liste les champs d'une table que je veux ajouter dans mon DataGrid.

Pour cela j'utilise la commande :

<!-- END TEMPLATE: bbcode_quote -->Enfaite, pour l'ajout de mes entités
dans les colonnes je n'ai aucun soucis en revanche c'est pour ajouter
les valeurs à c'est différente colonne que je n'y arrive pas tout
bêtement parce que la fonction du DataGrid qui permet cela oblige ce
que les nom de colonne soit tous renseigné et c'est ça que je n'arrive
pas faire "Renseigné dans la fonction<!-- BEGIN TEMPLATE: bbcode_code -->

Code :
Me.DataGrid.Rows.Add("maRow(ID'), maRow(ID_COULEE'), maRow(NATURE_PRODUIT'), maRow(DATE_COULEE')"

<!-- END TEMPLATE: bbcode_code --> le nom des colonnes"


Merci pour ta réponse et merci pour ton aide.


Johann36
Messages postés
132
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 mai 2017

C'est bon je viens de trouver !
Je sais pas ce que j'ai déliré mais maintenant mon code prend 3 lignes alors que ce que je voulais faire au moins une 30 enfin bon c'est l'apprentissage.

Voilà ce que j'ai fait :

        'Chaîne de connexion à la BDD
        Dim SqlConn As String = "Driver=Firebird/InterBase(r) driver;Server=localhost;" + _
        "Database=localhost:CheminBDD;Uid=SYSDBA;Pwd=masterkey;"

        'Outil de connexion à BDD
        Dim myDA As New Odbc.OdbcConnection(SqlConn)

        'Ouverture de la BDD
        Try
            myDA.Open()
        Catch ex As Exception
            MsgBox("Erreur de connection à la BDD !" + _
            Chr(13) + Chr(13) + "Détails :" + Chr(13) + ex.Message(), MsgBoxStyle.Critical, "Fluox")
            Exit Sub
        End Try

        Dim ReqSQL = "SELECT * FROM " & Me.CMB_TABLE.Text

        'Table de données en mémoire
        Dim adapter As New Odbc.OdbcDataAdapter(ReqSQL, myDA)

        'Création de l'objet Dataset :
        Dim DataSet As New DataSet

        Try
            'Chargement des données dans la table adapter
            adapter.Fill(DataSet, Me.CMB_TABLE.Text)

            Me.DataGrid.DataSource = dt

        Catch ex As Exception
            MsgBox("Erreur de chargement des données !" + Chr(13) + Chr(13) + "Détails :" _
            + Chr(13) + ex.Message(), MsgBoxStyle.Critical, "Fluox")
            Exit Sub
        End Try

    End Sub

Maintenant j'ai un gros soucis c'est que si ma table contient beaucoup d'enregistrement mon datagrid va être alimenté au bout de 10mn.
Là je crois qu'il y a encore un soucis ... .

Avez-vous une idée sur le pourquoi du comment ?

Merci d'avance.

Johann36