我目前在表格上有一个组合框,列出了美国所有州,波多黎各和哥伦比亚特区。
我需要将组合框更改为一个普通文本框,其中包含数组中的所有状态代码,以便当用户单击“确定”按钮时,通过“状态”数组验证文本框是否存在,以查明所述代码是否存在
如何使用查询将表信息加载到可以传输到文本框的数组中?
这是将信息放入组合框的当前代码
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现在显示代码。我可以将代码切换到普通文本框,它会在那里吗?
答案 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()