2
我無法弄清楚如何過濾組合框以僅顯示包含到目前爲止輸入的文本的項目。將WPF組合框過濾爲包含鍵入的字符串的項目
這是建立在數據表的組合框結合功能:
Function users() As DataTable
Dim ds As New DataSet
Dim dt As DataTable
Dim dr As DataRow
Dim idCoulumn As DataColumn
Dim nameCoulumn As DataColumn
dt = New DataTable()
idCoulumn = New DataColumn("ID", Type.GetType("System.Int32"))
nameCoulumn = New DataColumn("Name", Type.GetType("System.String"))
dt.Columns.Add(idCoulumn)
dt.Columns.Add(nameCoulumn)
dr = dt.NewRow()
dr("ID") = 1
dr("Name") = "Zuse, Konrad"
dt.Rows.Add(dr)
dr = dt.NewRow()
dr("ID") = 2
dr("Name") = "Torvalds, Linus"
dt.Rows.Add(dr)
dr = dt.NewRow()
dr("ID") = 3
dr("Name") = "Babbage, Charles"
dt.Rows.Add(dr)
ds.Tables.Add(dt)
Return dt
End Function
我會是怎樣編程,只顯示萊納斯和足色條目,如果我輸入「U」?
我已經試過這樣的事情,但我真的不知道該怎麼做:
Private Sub userKeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Input.KeyEventArgs) Handles cb_user.KeyUp
cb_user.IsDropDownOpen = True
cb_user.Items.Filter = Function(item)
Return item.ToString().Contains(cb_user.Text.Trim())
End Function
End Sub
我很抱歉,但我不明白我會把它放在我的代碼中。 – donL
如果它是文本框,則爲textChanged事件。清除項目,運行查詢,加載組合框。這個組合框不需要數據綁定。 – OneFineDay
另一條路線是使用CollectionViewSource,並將查詢應用於該路徑。至少適用於實體框架。 – OneFineDay