尋找一種方法從ComboBox中填充100多個值中選擇的字符串值。 下面的函數旨在從數據庫獲取預期值並將值返回給ComboBox。獲取ComboBox文本內容並傳遞給TextBox
Public Function popuList(Optional dt As DataTable = Nothing)
Dim daParties As New OleDb.OleDbDataAdapter("SELECT party_ID, party_Name FROM tbl_Parties ORDER BY party_Name;", connKMVTDB)
Dim dsParties As New DataSet
Dim dtParties As New DataTable
daParties.Fill(dsParties, "party_Name")
dtParties = dsParties.Tables(0)
Return dtParties
End Function
正如預期的那樣,下面的事件也可以正常工作。
Private Sub btnPartyLOV_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles btnPartyLOV.Click
If cmbPartiesList.Visibility = Windows.Visibility.Visible Then
cmbPartiesList.Visibility = Windows.Visibility.Hidden
Else
Dim dtParties As DataTable
dtParties = popuList()
cmbPartiesList.ItemsSource = dtParties.DefaultView
cmbPartiesList.DisplayMemberPath = dtParties.Columns(1).ToString
cmbPartiesList.SelectedValuePath = dtParties.Columns(0).ToString
cmbPartiesList.Visibility = Windows.Visibility.Visible
'cmbPartiesList.SelectedIndex = 0
End If
End Sub
但是,如何將選定的文本值從組合框到另一個文本框?下面嘗試並堅持...
Private Sub cmbPartiesList_SelectionChanged(sender As Object, e As System.Windows.Controls.SelectionChangedEventArgs) Handles cmbPartiesList.SelectionChanged
Dim selItem As String = DirectCast(cmbPartiesList.SelectedItem, ComboBoxItem).Content.ToString()
MsgBox(selItem)
lblID.Content = cmbPartiesList.SelectedValue
txtAdd1.Text = cmbPartiesList.DisplayMemberPath
cmbPartiesList.Visibility = Windows.Visibility.Hidden
End Sub
我多次得到錯誤...
無法轉換的類型 'System.Data.DataRowView' 對象鍵入 「System.Windows.Controls .ComboBoxItem'
在這裏滯留很長時間,任何幫助將不勝感激&稱讚。
我想你不能將cmbPartiesList.SelectedItem轉換爲ComboBoxItem – har07