J'ai une classe comme ceci:Databinding à une classe personnalisée en C#
public class Person
{
Int32 id;
Boolean isMarried = false;
String displayName;
Detail mainDetail = new Detail();
Detail partnerDetail = new Detail();
}
public class Detail
{
String firstName;
String lastName;
DateTime dob;
String address;
}
Et puis un formulaire qui a choisi textboxes pour afficher les informations dans l'objet. Ceci doit être mis à jour lorsque la personne sélectionnée est modifiée.
Maintenant, pour les champs simples, tels que DisplayName c'est un morceau de gâteau:
txtTitle.DataBindings.Add("Text", selectedPerson, "displayName");
mais comment puis-je lier une autre zone de texte à la prenom de la propriété mainDetail?
Cette tentative:
txtFirstNameMain.DataBindings.Add("Text", selectedPerson.mainDetail, "firstName");
renvoie une erreur d'exécution:
"Ne peut pas se lier à la propriété ou de la colonne prenom sur le DataSource Nom du paramètre: DataMember"
Merci pour votre aide !
Vous devez utiliser les propriétés publiques, mais je ne pense pas que ce soit votre problème, sinon aucune liaison ne fonctionnerait. - Je suppose que vous venez de rendre le code plus petit pour l'afficher. –