ComboBox 绑两个数据有关问题
ComboBox 绑两个数据问题
vb的ComboBox可以绑两个字段,一个隐藏,一个显示
vb.net的ComboBox怎么实现这个功能,能用代码说明一下么
vb代码:
'SQL文
SQL = "SELECT A, B "
SQL = SQL & " FROM dual "
SQL = SQL & " ORDER BY A "
Do Until Dynaset.EOF
ComboBox.AddItem(CStr(Dynaset.Fields(0).value))
ComboBox.itemdata(ComboBox.NewIndex) = CInt(Dynaset.Fields(1).value)
Dynaset.MoveNext()
Loop
------解决方案--------------------
参考一下这个:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim USStates As New ArrayList()
USStates.Add(New USState( "Alabama ", "AL "))
USStates.Add(New USState( "Washington ", "WA "))
USStates.Add(New USState( "West Virginia ", "WV "))
USStates.Add(New USState( "Wisconsin ", "WI "))
USStates.Add(New USState( "Wyoming ", "WY "))
ComboBox1.DataSource = USStates
ComboBox1.DisplayMember = "ItemName "
ComboBox1.ValueMember = "ItemValue "
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
TextBox1.Text = ComboBox1.SelectedValue.ToString
End Sub
End Class
Public Class USState
Private myItemName As String
Private myItemValue As String
Public Sub New(ByVal strItemName As String, ByVal strItemValue As String)
Me.myItemName = strItemName
Me.myItemValue = strItemValue
End Sub
Public ReadOnly Property ItemName() As String
Get
Return myItemName
End Get
End Property
Public ReadOnly Property ItemValue() As String
Get
Return myItemValue
End Get
End Property
Public Overrides Function ToString() As String
Return Me.myItemName + " - " + Me.myItemValue
End Function
End Class
------解决方案--------------------
分别绑定displaymember和valuemember属性
ComboBox.DataSource=DataSet.Tables(0)
ComboBox.ValueMember= "A "
ComboBox.DisplayMember= "B "
vb的ComboBox可以绑两个字段,一个隐藏,一个显示
vb.net的ComboBox怎么实现这个功能,能用代码说明一下么
vb代码:
'SQL文
SQL = "SELECT A, B "
SQL = SQL & " FROM dual "
SQL = SQL & " ORDER BY A "
Do Until Dynaset.EOF
ComboBox.AddItem(CStr(Dynaset.Fields(0).value))
ComboBox.itemdata(ComboBox.NewIndex) = CInt(Dynaset.Fields(1).value)
Dynaset.MoveNext()
Loop
------解决方案--------------------
参考一下这个:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim USStates As New ArrayList()
USStates.Add(New USState( "Alabama ", "AL "))
USStates.Add(New USState( "Washington ", "WA "))
USStates.Add(New USState( "West Virginia ", "WV "))
USStates.Add(New USState( "Wisconsin ", "WI "))
USStates.Add(New USState( "Wyoming ", "WY "))
ComboBox1.DataSource = USStates
ComboBox1.DisplayMember = "ItemName "
ComboBox1.ValueMember = "ItemValue "
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
TextBox1.Text = ComboBox1.SelectedValue.ToString
End Sub
End Class
Public Class USState
Private myItemName As String
Private myItemValue As String
Public Sub New(ByVal strItemName As String, ByVal strItemValue As String)
Me.myItemName = strItemName
Me.myItemValue = strItemValue
End Sub
Public ReadOnly Property ItemName() As String
Get
Return myItemName
End Get
End Property
Public ReadOnly Property ItemValue() As String
Get
Return myItemValue
End Get
End Property
Public Overrides Function ToString() As String
Return Me.myItemName + " - " + Me.myItemValue
End Function
End Class
------解决方案--------------------
分别绑定displaymember和valuemember属性
ComboBox.DataSource=DataSet.Tables(0)
ComboBox.ValueMember= "A "
ComboBox.DisplayMember= "B "