PDA

Visualizza la versione completa : [VB] raccogliere tre valori con una ComboBox()


w_t
01-07-2002, 14:24
con VB.NET:

per raccogliere 2 valori quali l'ID e il testo, con una ComboBox() ho usato la classe "MyListItem"



Public Class MyListItem

Private m_id As Long
Private m_text As String
Public Overrides Function ToString() As String
Return m_text
End Function
Public Sub New(ByVal Text As String, ByVal Value As Long)
m_text = Text
m_id = Value
End Sub
Public Property Value() As Long
Get
Return m_id
End Get
Set(ByVal Value As Long)
m_id = Value
End Set
End Property
Public Property Text() As String
Get
Return m_text
End Get
Set(ByVal Value As String)
m_text = Value
End Set
End Property

End Class


in questo modo:



'popolo la ComboBox() Categorie
conn.Open()
Dim sql As String = "SELECT * FROM Categorie"
Dim comm As New OleDbCommand(sql, conn)
Dim read As OleDbDataReader = comm.ExecuteReader
While read.Read()
cmbCat.Items.Add(New ListItem(read("Cat"), read("Id").ToString))
End While
conn.Close()


e raccolgo i dato in questo modo:



Dim Item As MyListItem = cmbCat.SelectedItem
Dim ID As Integer = Item.Value
Dim Categoria As String = Item.Text


ma se voglio gestire tre valori invece che due come posso fare???

i tre campi da gestire

ID = integer
Cat = string
IDC = integer

la mia tabella:
ID -- Cat -- IDC

riky78
01-07-2002, 15:18
Non puoi inserire un'altra variabile nella classe che passi come parametro nel costruttore?
Se la dichiari pubblica dopo la puoi usare tranquillamente...

w_t
01-07-2002, 15:30
non ho molta pratica di questo, non puooi inserirmela tu e poi incollare il testo della classe in risposta al treand???

Loading