DataSet - DataGrid

djcool74 Messages postés 44 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 12 février 2005 - 18 janv. 2005 à 15:32
djcool74 Messages postés 44 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 12 février 2005 - 21 janv. 2005 à 09:24
Bonjour à Tous

Je suis en train de réaliser une application qui accède a une Base de Données Access. J'utilise une connection OleDB.

Je remplis dans mon DataSet les valeurs d'une table grâce à la méthode Fill puis je l'affiche dans un DataGrid. Cependant, cela marche qu'une seule fois. C'est à dire que mon programme se connecte à la base, et je peux sélectionner une table a afficher dans mon DataGrid qu'une seule fois c'est à dire que ça m'affiche les enregistrements correctement, mais kan je change de table, ça me vide mon datagrid en me laissant les anciennes colonnes en haut.

En fait, mon datagrid n'est pas actualisé. J'ai essayé la méthode Refresh, mais marche pas..

J'ai utilisé ce code :



Dim StrConnect
As
String = "SELECT * FROM " & LTables.SelectedItem

Dim MyCommand As OleDb.OleDbCommand New OleDb.OleDbCommand(StrConnect, MyConnection)MyAdapter.SelectCommand MyCommand
MyDataSet.Clear()
MyAdapter.Fill(MyDataSet, LTables.SelectedItem)
Grid.DataSource = MyDataSet.Tables(0)

Si vous avez une idée......

Merci

djcool74

--------
La misère d'un ami n'est pas plus amusante que le vue d'un jardin dont la flore est mourrante.

3 réponses

djcool74 Messages postés 44 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 12 février 2005
18 janv. 2005 à 15:56
C bon, je viens de trouver en cherchant un peu sur le web. Il faut en fait passer par un DataTable (je sais pas pourquoi mais bon...)

Ceci marche donc :

Dim StrConnect As String = "SELECT * FROM " & LTables.SelectedItem
Dim MyCommand As OleDb.OleDbCommand = New OleDb.OleDbCommand(StrConnect, MyConnection)

MyAdapter.SelectCommand = MyCommand
MyDataSet.Clear()
MyAdapter.Fill(MyDataSet, LTables.SelectedItem)
Datatable = MyDataSet.Tables(LTables.SelectedItem)
Grid.DataSource = Datatable

++
djcool74

La misère d'un ami n'est pas plus amusante que le vue d'un jardin dont la flore est mourrante.
0
aitoz Messages postés 59 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 30 décembre 2008 1
20 janv. 2005 à 11:36
Je vais commencer par te dire merci parce que grace a ton code j'ai pu enfin trouver comment afficher qu'une seul dataset à la fois dans mon datagrid.
Une épine de moins dans mon pied ! Merci
Ensuite, encore merci pour l'info sur ton probleme.

C'est clair que tu n'apprendra rien en lisant mon message .
j'ai deux questions sur le site.
Comment dimensionner la largeur d'une colonne spécifique dans un datagrid ?
et comment afficher une barre de progression dans un champ en fonction d'un pourcentage (genre barre de progression dans emul par exemple).

Après je t'embete plus !
0
djcool74 Messages postés 44 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 12 février 2005
21 janv. 2005 à 09:24
Salut

Bizarre, on peut pas "quoter" sur ce forum pour faire des citations ?

Bref, tu disais : "Comment dimensionner la largeur d'une colonne spécifique dans un datagrid ?"

Je crois qu'il existe une propriété ColumnWith. Pour la barre de progression, je sais pas, dsl.

Merci de ton message

++

djcool74

La misère d'un ami n'est pas plus amusante que le vue d'un jardin dont la flore est mourrante.
0