2010-06-07 3 views
0

Comment obtenir une liste déroulante WPF DataGrid à lier dans les éléments DataGrid.WPF Datagrid Combobox se liant les uns aux autres dans la grille de données

Par exemple: J'ai une collection de personnes => Nom, âge et sexe.

  • Foo, 18, Homme
  • Boo, 21, Homme
  • FooBoo, 30, Femme

maintenant à l'intérieur du DataGrid j'ai un combobox (DataGridComboBoxColumn) avec la collection des noms seulement (Foo, Boo, FooBoo) ItemsSoure et deux DataGridTextBoxColumn. Datagrid est lié à ObservableCollection ou DataTable. Maintenant, lorsque l'utilisateur sélectionne un nom. L'âge et le sexe s'affichent (se lient) dans les deux DataGridTextBoxColumn et sont ajoutés à DataTable.

Merci.

Répondre

0

Tout d'abord, vos ComboBox besoins à définir quelque chose comme:

<ComboBox Name="PeopleCombo" ItemsSource="{Binding ...}" DisplayMemberPath="Name" /> 

ainsi que toute autre chose dont il a besoin (et la liaison correcte pour ItemsSource). De cette façon, il "contient" la classe Person entière mais n'affiche que le nom.
Maintenant, vous pouvez simplement définir vos TextBox es comme

<TextBox Text="{Binding ElementName=PeopleCombo, Path=SelectedItem.Sex}" /> 

Je ne comprends pas ce que vous voulez dans la mesure où l'ajouter à la source DataTable, cependant.

En outre, cela serait probablement beaucoup plus facile avec un modèle MVVM, où vous avez une classe ViewModel avec une propriété "SelectedPerson".

+0

Merci pour votre réponse. Mais je cherche à avoir la même chose que ce que vous avez dit dans un Datagrid pas dans une fenêtre. – aalhamad

Questions connexes