如何避免在数据绑定组合框中获取空字段?
答案 0 :(得分:0)
如果您使用List(of ..)来保存ComboBox文本的值,那么您可以尝试:
Dim idList1 As New List(Of String)
idList1.Add("1")
idList1.Add("2")
idList1.Add("3")
idList1.Add("1")
Dim idList2 As New List(Of String)
idList2 = idList1.Distinct().ToList()
idList.Distinct()
拉出唯一值。因此,如果您要打印idList2
中的每个项目,您将获得(“1”,“2”,“3”)。在创建ComboBox的内容之前首先执行此操作。
答案 1 :(得分:0)
如果您无法过滤收到的数据,可以创建一个新的DataView
并应用自己的过滤器并将其用作数据源。
Dim i As Integer = 0
Dim table As DataTable = New DataTable
table.Columns.Add("id", GetType(System.Int32))
table.Columns.Add("name", GetType(System.String))
i = (i + 1)
table.Rows.Add(i, "hello")
i = (i + 1)
table.Rows.Add(i, string.Empty)
i = (i + 1)
table.Rows.Add(i, "what")
i = (i + 1)
table.Rows.Add(i, DBNull.Value)
i = (i + 1)
table.Rows.Add(i, "derp")
Dim view As DataView = New DataView(table)
view.RowFilter = "name <> ''"
Me.comboBox1.ValueMember = "id"
Me.comboBox1.DisplayMember = "name"
Me.comboBox1.DataSource = view
RowFilter
采用sql-style where子句来选择匹配项。这仅包括组合框中的3个良好值。
首先只选择您需要的数据仍然是一个更好的主意。