Comment coder manuellement un dataset typé sans laisser le soin à VB de générer automatiquement l'interface utilisateur et les liens (Binding) entre l'interface et les données ?
merci
Comment coder manuellement un dataset typé sans laisser le soin à VB de générer automatiquement l'interface utilisateur et les liens (Binding) entre l'interface et les données ?
merci
Bonjour,
pourrais-tu être un peu plus clair ?
Je ne comprends pas bien ce que tu souhaites faire.
Merci.
bye.
bonjour
Alors pour développer une application 3/3 avec : 1/3 la base de données, 2/3 la couche métier et 3/3 l'interface utilisateur (IHM)
j'aimerai utiliser dans les datagrid de mon interface des objets que j'aurai codé :un dataset contenant maTableDeTravail constitué de maColonne1,maColonne2.
Avec un dataAdapter j'indique avec les procedures fill(),getData() que maTableDeTravail récupère les infos d'une table de la BDD appelé Table1 par le biais du sql "select champA,champB from Table1"
dataAdapter récupère bien les infos de ma table1
mais il ne fait pas le lien maColonne1 = champA et maColonne2 = champB
je retrouve par conséquent 4 colonnes dans le DataGridView affichant
maColonne1\maColonne2\champA\champB
Voilà.
Quand on utilise les composants graphiques datagridview,dataset, dataadapter, VB génère automatiquement un BindingSource qui fait le lien maColonne1 = champA et maColonne2 = champB permettant ainsi d'afficher correctement les informations.
Comment faire ce lien en programmation ? (programmer le binding source ?, c'est lors de la création de maColonne1, lui dire que maColonne1 = champA?)
encore merci
Bonjour.
Je pense que tu a le même probléme que ricil78.
Cf. ma réponse :
https://www.developpez.net/forums/showthread.php?t=270181
Par contre, comme je le disais, il semble que l'ordre des colonnes soit complément aléatoire. A toi donc de jouer avec le displayindex.
Cdt
Merci pour ce lien, mais ce n'est pas exactement la même chose.
Dans mon cas j'aimerai affecter les données de Table1 dans matableDeTravail en étant sûr que champA récupère les données de maColonne1 et champB celles de maColonne2.
après pour l'affichage j'affiche dans dataGridView je devrai afficher les données de ma dataTable matableDeTravail facilement.
Salut.
Bonjour.
Oups désolé ! Effectivement, j'avais mal compris.
Ce que tu veux faire c'est charger correctement un table existante.
Pour que cela soit possible, il faut que ta table de travail ait des colonnes qui portent le même nom que les colonnes récupérées par la requête :
Par contre comme ça m'intéresse, quel est l'intérêt de créer par avance la table ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Dim dt As New DataTable dt.TableName = "maTable" dt.Columns.Add("A") dt.Columns.Add("B") Dim ds As New DataSet ds.Tables.Add(dt) Dim da As New OleDb.OleDbDataAdapter(New OleDbCommand("SELECT A, B FROM TABLE1", Cnn)) da.Fill(ds, "maTable")
Partager