读书人

ComboBox 绑两个数据有关问题

发布时间: 2011-12-30 23:30:45 作者: rapoo

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 Dotnet

热点推荐