Bonjour,
désolé pour la réponse tardive.
Effectivement il n'y a pas de propriétés DataSource sur un TextBox contrairement au ComboBox. Tout simplement parce qu'avec le TextBox tu peux n'afficher qu'une valeur.
Comment faire ? Et bien même s'il n'y a pas de propriétés DataSource, il y a la propriété DataBindings qui est une collection de Binding.
si tu veux éditer toi-même cette propriété, voici un exemple :
this.txtPrenom.DataBindings.Add(new System.Windows.Forms.Binding("Text", tonDataSource, "NomColonne", true));
Mais le plus simple est encore que tu utilises un BindingSource et ce que tu veux faire sera fait très simplement.
Tu utilises VS2005 ? Tu n'utilises pas de DataSet typés ?
Sinon voici comment faire:
Tu ajoutes un BindingSource, tu lui définies son nom, par exemple clientBindingSource
Ensuite, tu sélectionne ton ComboBox (ou ta ListBox) et tu sélectionnes les propriétés.
Sur la propriété DataSource tu définies ton BindingSource. En cliquant sur la flèche du bas, une fenêtre doit apparaître te permettant de le sélectionner.
Pour la propriété DisplayMember, tu tapes le nom de la colonne que tu souhaites visualiser.
Ensuite tu sélectionne les propriétés de ton TextBox.
Sur la propriété DataBindings-Text tu choisis si tu peux le BindingSource et le nom de la colonne que tu souhaites afficher dans le TextBox (mais ça m'étonnerait que tu puisses vu que tu n'utilises pas de DataSet typés ou tout autre type). Si tu ne peux pas, tu saisies quelque part près de l'initialisation:
this.txtPrenom.DataBindings.Add(new System.Windows.Forms.Binding("Text", clientBindingSource, "NomColonne", true));
Une fois que tu as chargé tes données, tu dois initialiser ton BindingSource.
Tu enlèves:
1 2
| ListBox1.DataSource = ObjetDataTable
ListBox1.DisplayMember = "Nom" |
et tu mets:
clientBindingSource = ObjetDataTable
En espérant que ça aille.
Sinon je ne peux que te conseiller d'aller sur le site de Microsoft pour télécharger le projet exemple en Vb.Net Ma Cave à vin.
Bye.
Partager