2

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
4

2 に答える 2

3

DisplayMemberPath表示用のSelectedValuePathプロパティと値用のプロパティが必要です

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

次に、プロパティを使用して選択したオブジェクト全体 (UID、EmployeeName ペアなど) にアクセスできますがSelectedItem、UID だけSelectedValueが必要な場合は、プロパティが必要です。

プロパティの仕組みについては、MSDN で詳しく知ることができます。

ComboBox に値を設定するには、ItemsSourceプロパティにリストを設定する必要があります。

cbEmp.Items.Clear()使用する代わりにcbEmp.ItemsSource = Nothing

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

WPF のデータバインディングとコンボボックスに関する優れた紹介記事です。

于 2012-08-20T20:34:40.753 に答える
1

探しているプロパティは次のとおりDispalyMemberPathですSelectedValuePath

于 2012-08-20T20:35:20.527 に答える