ItemData

14/07/2004 - 23:18 por Jesus Carmona | Informe spam
Buen dia tengan todos.
Estoy tratando de buscar el equivalente al ItemData de VB6, hay algo
parecido en un combobox en VB.NET, o que es lo que puedo utilizar en lugar
del ItemData?

Explico un poco mas...
Tengo un ComboBox que tiene el nombre del cliente, pero al yo querer guradar
la informacion en mi BD lo que necesito es el Numero de Cliente y no su
nombre, como podria relacionar entonces en el comboBox el nombre del cliente
con su numero.

Gracias de antemano por su atencion.
Saludos...
Jesus Carmona

Preguntas similare

Leer las respuestas

#1 tribufo
14/07/2004 - 23:40 | Informe spam
El uso de itemdata nunca fue conveniente, y
afortunadamente ya no existe, imagina que tengas una tabla
donde el codigo es alfanumerico, itemdata no lo soporta.
En .Net se debe utilizar listas o tablas (de dataset) que
permiten almacenar cualquier tipo de objetos. Te copio
algo escrito por Tristan en tema anterior:


tuCombo.DataSource = ds.Tables("TuTabla")
tuCombo.ValueMember = "TuCampoValue"
tuCombo.DisplayMember = "TuCampoDisplay"


Buen dia tengan todos.
Estoy tratando de buscar el equivalente al ItemData de


VB6, hay algo
parecido en un combobox en VB.NET, o que es lo que puedo


utilizar en lugar
del ItemData?

Explico un poco mas...
Tengo un ComboBox que tiene el nombre del cliente, pero


al yo querer guradar
la informacion en mi BD lo que necesito es el Numero de


Cliente y no su
nombre, como podria relacionar entonces en el comboBox el


nombre del cliente
con su numero.

Gracias de antemano por su atencion.
Saludos...
Jesus Carmona


.

Respuesta Responder a este mensaje
#2 Jesus Carmona
14/07/2004 - 23:53 | Informe spam
Estoy utilizando un DataReader para leer la informacion de la BD a mi
ComboBox. En el ejemplo que me das tendria que utilizar un dataset lo cual a
mi punto de vista no es muy eficiente, siendo que solamente lo necesito
read-only, forward-only. Que otra opcion tendria? Mencionas que podria
utilizar listas, como lo podria hacer.

Gracias por tu ayuda...


"tribufo" wrote in message
news:2c66201c469eb$334c3580$
El uso de itemdata nunca fue conveniente, y
afortunadamente ya no existe, imagina que tengas una tabla
donde el codigo es alfanumerico, itemdata no lo soporta.
En .Net se debe utilizar listas o tablas (de dataset) que
permiten almacenar cualquier tipo de objetos. Te copio
algo escrito por Tristan en tema anterior:


tuCombo.DataSource = ds.Tables("TuTabla")
tuCombo.ValueMember = "TuCampoValue"
tuCombo.DisplayMember = "TuCampoDisplay"


>Buen dia tengan todos.
>Estoy tratando de buscar el equivalente al ItemData de
VB6, hay algo
>parecido en un combobox en VB.NET, o que es lo que puedo
utilizar en lugar
>del ItemData?
>
>Explico un poco mas...
>Tengo un ComboBox que tiene el nombre del cliente, pero
al yo querer guradar
>la informacion en mi BD lo que necesito es el Numero de
Cliente y no su
>nombre, como podria relacionar entonces en el comboBox el
nombre del cliente
>con su numero.
>
>Gracias de antemano por su atencion.
>Saludos...
>Jesus Carmona
>
>
>.
>
Respuesta Responder a este mensaje
#3 Eduardo A. Morcillo [MS MVP VB]
15/07/2004 - 06:04 | Informe spam
Jesus Carmona wrote:
Estoy utilizando un DataReader para leer la informacion de la BD a mi
ComboBox. En el ejemplo que me das tendria que utilizar un dataset lo
cual a mi punto de vista no es muy eficiente, siendo que solamente lo
necesito read-only, forward-only. Que otra opcion tendria? Mencionas
que podria utilizar listas, como lo podria hacer.



Carga los datos en una estructura o clase. Por ejemplo:

Public Class ListItem

Private _valor As Object
Private _nombre As String

Public Sub New(ByVal nombre As String, ByVal valor As Object)
_nombre = nombre
_valor = valor
End Sub

Public Property Valor() As Object
Get
Return _valor
End Get
Set(ByVal value As Object)
_valor = value
End Set
End Property

Public Property Nombre() As String
Get
Return _nombre
End Get
Set(ByVal value As String)
_nombre = value
End Set
End Property

Public Overrides Function ToString() As String
Return _nombre
End Function

End Class

Luego puedes crear un arreglo o coleccion de estos items y asignarlo al
DataSource o puedes agregar cada item en el listbox ya que no esta limitado
a solo strings.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
Respuesta Responder a este mensaje
#4 Tristan
15/07/2004 - 09:59 | Informe spam
Tal y como te ha dicho Eduardo, los item de un ComboBox
son en realidad de tipo Object. Lo que hace ComboBox es
visualizar este objeto aplicando el método ToString()

Con ayuda de una pequeña clase auxiliar, que puedes
utilizar en tus proyectos, podrás disponer de cualquier
información adicional:

ComboBox1.Items.Add(New ListItem("Uno", 1))
ComboBox1.Items.Add(New ListItem("Dos", 2))
ComboBox1.Items.Add(New ListItem("Tres", 3))

Private Sub ComboBox1_SelectedIndexChanged(sender As
Object, e As EventArgs) Handles
ComboBox1.SelectedIndexChanged
Dim item As ListItem = DirectCast
(ComboBox1.SelectedItem, ListItem)
MsgBox(item.value.ToString())
End Sub

Public Class ListItem
Public Value As Object
Public Display As Object

Public Sub New(display As Object, value As Object)
Me.Display = display
Me.Value = value
End Sub

Public Overrides Function ToString() As String
Return Display.ToString()
End Function
End Class
Respuesta Responder a este mensaje
#5 Jesus Carmona
15/07/2004 - 17:22 | Informe spam
Eduardo y Tristan:
Muchas gracias por su ayuda. Justo lo que necesitaba...

JC

"Tristan" wrote in message
news:2dd7401c46a41$a720f530$
Tal y como te ha dicho Eduardo, los item de un ComboBox
son en realidad de tipo Object. Lo que hace ComboBox es
visualizar este objeto aplicando el método ToString()

Con ayuda de una pequeña clase auxiliar, que puedes
utilizar en tus proyectos, podrás disponer de cualquier
información adicional:

ComboBox1.Items.Add(New ListItem("Uno", 1))
ComboBox1.Items.Add(New ListItem("Dos", 2))
ComboBox1.Items.Add(New ListItem("Tres", 3))

Private Sub ComboBox1_SelectedIndexChanged(sender As
Object, e As EventArgs) Handles
ComboBox1.SelectedIndexChanged
Dim item As ListItem = DirectCast
(ComboBox1.SelectedItem, ListItem)
MsgBox(item.value.ToString())
End Sub

Public Class ListItem
Public Value As Object
Public Display As Object

Public Sub New(display As Object, value As Object)
Me.Display = display
Me.Value = value
End Sub

Public Overrides Function ToString() As String
Return Display.ToString()
End Function
End Class
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida