2010-12-27 1 views
1

Je dispose de zones de liste déroulantes liées aux données en cascade, mais si la deuxième des deux zones n'a pas la valeur, j'essaie de modifier la source de données du processus d'origine pour qu'elle la sélection par défaut.Impossible de relier la zone de liste déroulante ComboBox dans VB.Net

Cependant, j'obtiens des erreurs, peu importe ce que j'essaie de faire pour que la liste déroulante disparaisse.

cboSubSystem.SelectedIndex = -1 
    cboSubSystem.DataSource = Nothing 
    Call cboSubSystem.Items.Clear() 

    cboSubSystem.DataSource = oSubSystem.EntityList 
    cboSubSystem.DisplayMember = oSubSystem.ORM.SubSystem_c 
    cboSubSystem.ValueMember = oSubSystem.ORM.SubSystem_c 

J'ai aussi essayé le double jeu pour SelectedIndex comme http://support.microsoft.com/default.aspx?scid=kb;en-us;327244

Qu'est-ce que je fais mal? Je suis sûr que c'est quelque chose de simple mais je ne peux pas dépasser cela.

Merci d'avance.

EDIT:

  • EntityList est une liste générique pour un DTO
  • Les listes déroulantes utilisent différentes sources de données, lorsque celui-ci est réglé, je viens d'appeler la sous-routine pour charger l'autre.
  • Erreurs:
    • Actuellement: "La collection d'éléments ne peut pas être modifiée lorsque la propriété DataSource est définie." au Items.Clear
    • Si je tente de supprimer le clair, je reçois « ne peut pas se lier au nouveau membre de valeur Nom du paramètre:. valeur » au ValueMember mis
+0

Quelles erreurs obtenez-vous et où les obtenez-vous? Quel type est oSubSystem et ses propriétés EntityList et ORM + SubSystem_c? Montrez-nous du code source. –

+1

Comment avez-vous implémenté les listes déroulantes liées aux données en cascade? Où est la relation, est-ce que les deux combobox utilisent la même source de données? –

+0

L'ORM est juste la valeur de chaîne du nom de colonne pour le DTO, dans ce cas juste "SubSystem_c" – RiddlerDev

Répondre

1

trouvé mon problème. Il y avait une routine d'événement pour l'index changé qui a chargé la deuxième zone de liste déroulante. Cette zone de liste déroulante utilisait l'index sélectionné, et apparemment cela bloquait suffisamment la source de données pour que je ne puisse pas l'effacer. A été en mesure de le réparer avec un ré-arrangement du processus d'actualisation.

Questions connexes