gpt4 book ai didi

wpf - WPF ComboBox中的DataTextField和DataValueField?

转载 作者:行者123 更新时间:2023-12-04 18:14:10 25 4
gpt4 key购买 nike

有什么方法可以让我们在 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

最佳答案

您需要 DisplayMemberPath显示属性
SelectedValuePath值(value)的属性

<Combobox DisplayMemberPath="EmployeeName" SelectedValuePath="UID" />

然后您可以使用 SelectedItem 访问整个选定对象(例如 UID、EmployeeName 对)属性,但如果您只想要 UID,那么 SelectedValue属性(property)是你需要的。

您可以在 MSDN 了解有关属性工作原理的更多信息:
  • DisplayMemberPath
  • SelectedValuePath

  • 要使用值填充 ComboBox,您需要设置 ItemsSource带有列表的属性:

    而不是 cbEmp.Items.Clear()使用 cbEmp.ItemsSource = Nothing


    If IsValidDataset(dsEmp) Then
    cbEmp.ItemsSource = dsEmp.Tables(0).DefaultView
    End If

    关于 WPF databinding and comboboxes 的一篇很好的介绍文章.

    关于wpf - WPF ComboBox中的DataTextField和DataValueField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12044663/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com