Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Kal_El_00100 en 20 Mayo 2010, 05:26 am



Título: Saber el Itemdata(vb.net) de un combobox?
Publicado por: Kal_El_00100 en 20 Mayo 2010, 05:26 am
hola gente les pido ayuda, estuve buscando y pensando pero no veo la solucion trate de agarrar un codigo viejo de vb 6.0 que tenia e intentar pasarlo a vb.net pero no me resulta hay algo que me falta. miren..

asi obtenia el itemddata de un combo en vb 6.0
Código:
Public Function ObtieneListIndex(unCombo As ComboBox, pItemData As Long) As Integer
Dim i As Integer
For i = 0 To unCombo.ListCount - 1
    If pItemData = unCombo.ItemData(i) Then
        ObtieneListIndex = i
        Exit Function
    End If
Next
ObtieneListIndex = -1
End Function
'de esta forma puedo saber que listindex le corresponde a cada item
pero obviamente no pude pasarlo a .net ya que ahora cargo el combo diferente que antes.

el comobo lo cargo asi ahora:
Código:
Dim da As New OleDb.OleDbDataAdapter(STRSQL, CN)
        'Dim da As New OleDbDataAdapter(STRSQL, conexion)
        Dim ds As New DataTable(Tabla)
        '  Conexion.Open()
        da.Fill(ds)
        With CMB
            CMB.DisplayMember = Campo
            CMB.ValueMember = Indice
            CMB.DataSource = ds
            CMB.Text = " "
        End With
ahora como hago para saber que item le corresponde a que listindex, siempre comparando con el item de la base de datos y la listindex de los combos.

esto lo hago para que al cargarse un formulario con un por ejemplo IDcliente especifico en los combos se muestren los item correspondientes.
espero que me hayan entendido si por favor me puedieran ayudar. Gracias


Título: Re: Saber el Itemdata(vb.net) de un combobox?
Publicado por: [D4N93R] en 20 Mayo 2010, 19:59 pm
VB es tan feo xD hehe

Bueno veamos, con esa función ObtieneListIndex, te da el index del texto del item que pases como pItemData?

En .net para saber el index solo hace falta hacer así:

Código
  1. comboBox.Items.IndexOf(<el objeto del item>);


Bueno y no entiendo mucho lo que quieres hacer hehe, un saludo!


Título: Re: Saber el Itemdata(vb.net) de un combobox?
Publicado por: Kal_El_00100 en 21 Mayo 2010, 23:31 pm
si, hace eso, lo que quiero hacer es algo igual a lo que estaba en vb 6.0 pero en .net, hmm lo que me pasaste no me sirvio poruqe lo use pero todos los valores que me da son -1 como itemdata.
Código:
        Public Function Obtiene_ListIndex(ByVal UnCOmbo As ComboBox, ByVal pItemdata As Integer) As Integer

        Dim I As Integer

        For I = 0 To UnCOmbo.Items.Count
            If pItemdata = UnCOmbo.Items.IndexOf(I) Then
                Obtiene_ListIndex = I
            End If
        Next
    End Function
en esto todos los valores son - 1   -->   UnCOmbo.Items.IndexOf(I)

pitem es el numero del item del que yo quiero saber su listidex


Título: Re: Saber el Itemdata(vb.net) de un combobox?
Publicado por: Kal_El_00100 en 22 Mayo 2010, 00:45 am
ya lo solucuione gracias, usando un poco el cerebelo.
Código:
    Public Function Obtiene_ListIndex(ByVal UnCOmbo As ComboBox, ByVal pItemdata As Integer) As Integer

        Dim DRWItem As System.Data.DataRowView
        Dim i As Integer
        For Each DRWItem In UnCOmbo.Items
            i = i + 1
            If pItemdata = DRWItem.Row(0) Then
                Obtiene_ListIndex = i - 1
                Exit Function
            End If

        Next
        Obtiene_ListIndex = -1
    End Function
Como carge el Combo con un datatable el item aparece en una de las columnas, asique puse un for para recorrer los items e ir viendo la columna 0 en la que esta el item, la variable i me va a decir la posicion en la lista.
Gracias igual bye


Título: Re: Saber el Itemdata(vb.net) de un combobox?
Publicado por: [D4N93R] en 22 Mayo 2010, 15:31 pm
Ah ok, eso era lo que necesitabas, no había entendido..

Recuerda siempre poner los códigos entre los tags [ code ][ /code]

saludos


Título: Re: Saber el Itemdata(vb.net) de un combobox?
Publicado por: seba123neo en 24 Mayo 2010, 02:15 am
Kal_El_00100 hay una clase de el guille que simula el ItemData del visual basic 6 en .NET...es solo una clase que por cada item guarda en la clase los datos para despues recurperarlos...mirate yo lo uso y anda de 10:

ItemData en .NET (http://www.elguille.info/colabora/puntonet/alvaritus_itemdataennet.htm)

saludos.


Título: Re: Saber el Itemdata(vb.net) de un combobox?
Publicado por: Kal_El_00100 en 31 Mayo 2010, 06:55 am
Muchas gracias seba, lo voy a probar. eso se ajusta mas a lo que queria.