De Windows.Formulaire de zone de liste déroulante est Impossible de définir la Propriété SelectedValue de Contrôle Indépendant
Je ne peux pas définir la valeur par défaut zone de liste déroulante la valeur sélectionnée d'une unbound zone de liste déroulante. Voici mon code:
Système.Console.WriteLine("Balise Courante Org Id =" + CurrentTag.Org.OrgId); ddlRUC.SelectedValue = CurrentTag.Org.OrgId; Système.Console.WriteLine("ddlRUC sélectionné valeur =" + ddlRUC.SelectedValue);
Voici le résultat:
Balise Courante Org Id = 285
ddlRUC valeur sélectionnée =
Noter que ddlRUC.SelectedValue n'a pas été mis à 285. La source de données doivent être liés afin d'utiliser la propriété SelectedValue? Si oui, comment puis-je régler l'élément par défaut affichée dans une zone de liste déroulante qui n'est pas lié?
OriginalL'auteur Amar Patel | 2009-06-11
Vous devez vous connecter pour publier un commentaire.
La propriété SelectedValue ne fonctionne que pour un databound listbox. Si vous pouvez créer votre liste d'éléments dans une Liste<>, vous pouvez ensuite lier la liste pour le contrôle et la SelectedValue fonctionne comme vous le souhaitez.
OriginalL'auteur Scott Ewers
Une zone de liste déroulante (comme une Listbox) a 2 mécanismes pour traiter avec la sélection. Soit:
Vous affectez une Liste à la source de données
de la propriété et de l'ensemble de la ValueMember et
DisplayMember pour les noms de
les propriétés des éléments de cette liste. Ou,
Vous remplissez les Éléments de propriété avec
les objets de votre choix, le
ToString()
sera affiché.
Dans le scénario 1) vous pouvez utiliser SelectedValue pour obtenir/définir la sélection basée sur le ValueMember.
dans le scénario 2) vous utilisez la propriété SelectedItem au lieu de SelectedValue
La question est donc, comment vous remplissez les Éléments?
OK, ne le savais pas. Et il y a aussi un FormatString et un Format d'événement.
OriginalL'auteur Henk Holterman
J'ai rencontré ce problème, et de perdre un temps précieux, car la valeur dans ma liste était un autre type int que la valeur que j'essayais de les affecter à la SelectedValue par exemple, int32 vs int16. La chose qui va vous rendre fou, c'est que il n'y a pas d'erreur de compilation ou de l'exécution de l'exception levée. Il ne fonctionne tout simplement pas. Obtenez de l'int types de match et il fonctionne très bien! Notez qu'il est indispensable pour la zone de liste déroulante à être lié.
OriginalL'auteur Frank Root
Votre unbound ComboBox ont 286 éléments? Sinon que id ne veut pas dire quoi que ce soit.
OriginalL'auteur atfergs
J'ai peut-être un malentendu exactement ce que vous essayez d'accomplir, mais la zone de liste déroulante d'Éléments (je crois que c'est .Éléments, comme une zone de liste) ou il doit être lié à une source de données avant de il peut être un élément par défaut.
OriginalL'auteur AllenG
Faire les éléments dans la zone de liste déroulante de valeurs? Vous pourriez utiliser des Éléments.FindByText(string texte) ou des Articles.FindByValue(chaîne de valeur) pour retourner le ListItem vous êtes à la recherche pour.
OriginalL'auteur Matthew Jones
La documentation pour SelectedValue états que les biens de retour "d'un objet contenant la valeur du membre de la source de données spécifiée par le ValueMember propriété". Le ValueMember documentation en matière de propriété états qu'elle représente le nom d'une propriété de l'objet dans la collection qui est assignée à la propriété DataSource.
Donc oui, ValueMember fonctionne uniquement avec un lié aux données source de données.
OriginalL'auteur Fredrik Mörk