如何避免在数据绑定组合框中获取空字段?

时间:2010-10-18 19:05:59

标签: vb.net

如何避免在数据绑定组合框中获取空字段?

2 个答案:

答案 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个良好值。

首先只选择您需要的数据仍然是一个更好的主意。