有没有办法让我们在WPF ComboBox中拥有像DataTextField和DataValueField这样的功能。
我有这样的疑问:
Select UID, EmployeeName from tblSystemEmployee;我想在组合框中显示EmployeeName,但它一直显示UID。我有没有办法做到这一点?谢谢你的帮助?
这是我填充我的数据集的方式:
Try
cbEmp.Items.Clear()
Dim QueryString As String = "SELECT UID, EmployeeName FROM tblSystemEmployee"
Dim drow As DataRow
drow = Nothing
dsEmp = New DataSet
dsEmp = GetResult(QueryString, True)
If IsValidDataset(dsEmp) Then
For Each drow In dsEmp.Tables(0).Rows
cbEmp.Items.Add(drow(0).ToString())
Next
End If发布于 2012-08-21 04:34:41
显示需要DisplayMemberPath属性,值需要SelectedValuePath属性
<Combobox DisplayMemberPath="EmployeeName" SelectedValuePath="UID" />然后,您可以使用SelectedItem属性访问整个选定的对象(例如,UID、EmployeeName对),但是如果您只需要UID,那么SelectedValue属性就是您所需要的。
您可以在MSDN上了解有关属性工作原理的更多信息:
要使用值填充ComboBox,需要使用列表设置ItemsSource属性:
不使用cbEmp.Items.Clear(),而使用cbEmp.ItemsSource = Nothing和
和
If IsValidDataset(dsEmp) Then
cbEmp.ItemsSource = dsEmp.Tables(0).DefaultView
End If关于WPF databinding and comboboxes的一篇很好的介绍性文章。
发布于 2012-08-21 04:35:21
您要查找的属性是:DispalyMemberPath和SelectedValuePath。
https://stackoverflow.com/questions/12044663
复制相似问题