2009-06-16 3 views
1

J'ai une liste d'objets Définition (définitions), chaque objet Définition a une liste de ses Arguments et Paramètres. Ce code fonctionne très bien:Liaison à une propriété d'un élément courant d'une autre liste liée

private void BindDefinitions() 
     { 
      definitionsComboBox.DataSource = definitions; 
      argumentsComboBox.DataBindings.Add("DataSource", definitions, "Arguments"); 
      parametersComboBox.DataBindings.Add("DataSource", definitions, "Parameters"); 
     } 

Quelque part d'autre que j'ai une liste de validation des objets (validations), chaque objet de validation a un dictionnaire de ses arguments et un dictionnaire des paramètres. Pourquoi le code suivant ne fonctionne pas?

validationsListBox.DataSource = validations; 
     argumentsDataGridView.DataBindings.Add("DataSource", validations, "Arguments"); 
     parametersDataGridView.DataBindings.Add("DataSource", validations, "Parameters"); 

Edit: le point est de rendre les données affichées dans dépendantes dataGridViews sur l'élément sélectionné dans validationsListBox

Répondre

2

J'ai trouvé cette réponse: « Vous ne pouvez pas lier un dictionnaire à un DataGridView parce que le DataGridView .DataSource a besoin d'un objet qui implémente IList, IListSource, IBindingList ou IBindingListView. ". c'est probablement la raison.

+0

d'oh! J'ai manqué le mot "dictionnaire" dans la question. Yup - vous ne pouvez pas faire ça. –

Questions connexes