如何通过读表创建一个字符串数组?

时间:2014-04-01 16:19:16

标签: arrays vb.net combobox textbox

我目前在表格上有一个组合框,列出了美国所有州,波多黎各和哥伦比亚特区。

我需要将组合框更改为一个普通文本框,其中包含数组中的所有状态代码,以便当用户单击“确定”按钮时,通过“状态”数组验证文本框是否存在,以查明所述代码是否存在

如何使用查询将表信息加载到可以传输到文本框的数组中?

这是将信息放入组合框的当前代码

Private Sub LoadStateComboBox()
    Dim stateList As List(Of State)
    Try
        stateList = StateDB.GetStateList
        cboStates.DataSource = stateList
        cboStates.DisplayMember = "StateName"
        cboStates.ValueMember = "StateCode"
    Catch ex As Exception
        MessageBox.Show(ex.Message, ex.GetType.ToString)
    End Try
End Sub

- > 11:47pm通过将DisplayMember更改为StateCode,comboBox现在显示代码。我可以将代码切换到普通文本框,它会在那里吗?

1 个答案:

答案 0 :(得分:0)

如果你想获得一组State个对象,那真的很容易。您可以调用List(Of T).ToArray方法,如下所示:

Dim stateArray() As State = stateList.ToArray()

但是,如果你想得到一个字符串数组,那么数组中的字符串是从原始列表中每个State个对象的一个​​属性中获取的,那就更难了,但LINQ仍然很容易。例如,如果State类包含StateCode As String属性,则可以使用LINQ获取所有状态代码的数组,如下所示:

Dim stateCodeArray() As String = stateList.Select(Of String)(Function(x) x.StateCode).ToArray()