2009-03-31 5 views
1

J'ai une liste déroulante wpf liée à une datatable. À certains moments, je veux modifier par programme la sélection de la liste. Je connais le texte de l'article que je veux sélectionner. Mais cela ne fonctionne pas pour définir le listbox1.SelectedItem au texte que je veux parce que le type de SelectedItem est System.Data.DataRowView.Définir l'élément sélectionné dans une zone de liste de données

Si j'ai le texte que je veux sélectionner et le DataRow que je veux sélectionner, quelle est la manière la plus simple de sélectionner la ligne associée dans la zone de liste?

Répondre

1

Recherchez parmi DataSet et recherchez le DataRow approprié. Définissez ensuite SelectedItem sur DataRow.

0

Le contrôle ListBox (à la fois dans les formes et WebControls) présente une propriété de SelectedValue que:

« Extrait la valeur de l'élément sélectionné dans le contrôle de liste, ou sélectionne l'élément dans le contrôle de liste qui contient le valeur spécifiée. "

Vous pouvez utiliser cette option pour sélectionner l'élément en fonction de sa valeur, généralement une clé unique.

Plus d'informations à partir de MSDN:

System.Windows.Forms.ListControl.SelectedValue

System.Web.UI.WebControls.ListControl.SelectedValue

+0

Je ne l'ai pas dit dans la question, mais la question a été marquée wpf. – epotter

1

Si vous connaissez le texte, il serait alors:

ListBox1.SelectedValue = ListBox1.Items.FindByText("Two").Value; 

Vous pouvez également utiliser la propriété SelectedIndex pour définir la valeur sélectionnée par l'index 0.

+0

La propriété listBox1.Items n'a pas de méthode FindByText. – epotter

Questions connexes