Je programme normalement en C++, donc tout ce truc DataSource/DataSet/Binding me déroute. J'espère que vous pouvez aider les gars.Utilisation d'une source de données avec un TextBox
Fondamentalement, j'écris un éditeur pour un format de fichier basé sur XML (en particulier, OFX, pour les données financières). J'ai utilisé xsd.exe sur mon schéma pour désérialiser les fichiers chargés dans des classes anciennes sympas. J'ai découvert DataGridView, qui est génial, que je peux juste définir sa propriété DataSource à l'une des collections qui m'intéresse (en particulier, la liste des transactions), et quand je fouille avec les valeurs, ces changements se reflètent dans le chargement fichier désérialisé, que je peux ensuite sérialiser sur enregistrer. Mais quand je veux 'mapper' juste une simple chaîne à un TextBox (par exemple le numéro de compte), je ne peux pas utiliser cette méthode intelligente à TextBoxes ne semble pas avoir un membre DataSource ... Utilisation de leur propriété 'Text' définit simplement le texte une fois et ne reflète pas les modifications apportées à l'objet sous-jacent, l'enregistrement doit donc d'abord saisir les valeurs du contrôle. Je voudrais que ce soit automatique comme pour le DataGridView.
J'ai essayé de jongler avec les DataBindings mais je ne sais pas quoi utiliser comme propertyName ou DataMember, donc je ne suis pas sûr que ce soit ce que je suis censé être à l'aide:
accountNumberTextBox.DataBindings.Add(new Binding("???", myDocument.accountNumber, "???");
Est-ce que je manque quelque chose de vraiment évident? J'espere!
Ah, le problème avec cela est que la classe contenant la chaîne que je veux lier est générée. Y a-t-il un moyen de le faire de manière moins intrusive? –
@Pierre: merci, corrigé –
@Ben: vous pouvez générer la logique de notification de modification ou écrire une classe qui enveloppe votre objet de données et ajoute une notification de modification pour les besoins de la liaison de données dans l'interface utilisateur. –