Buenas, sabéis si hay algún método para utilizar un combo box en Visual Basic como si fuera un select de HTML? Es decir, que los items puedan tener valores distintos al texto que contengan, no se si me he explicado bien. He estado buscando un rato pero no he encontrado nada, y hacerlo con arrays es un poco coñazo y bastante cutre xD
No sé si existe alguna otra forma pero la que me enseñaron fueron con tablas.
En las propiedades del combo...
Datasource="Dataset1.Tabla1"=> Eliges el data set y la tabla a mostrar
DisplayMember="Nombre" => Campo que se visualiza en el combo
ValueMember="ID" => Valor que hay por detrás al que se muestra en el combo.
Esto es para ASP.NET, que no se si estas con forms o con web.
Para forms sería como pone arriba el compi, utilizando
DisplayMember y valuemember.
Para ASP.NET:
Cargas el combo con una tabla de dos columnas...
Ejemplo:
idprovincia nombreprovincia
28 Madrid
200 Honolulu
500 Mordor
Asignas la propiedas del combo
Datatextfield a nombreprovincia
Datavaluefield a idprovincia
El combo mostrara los nombres, pero cuando seleccionen por ejemplo "MADRID"
Si recuperar combobox.selectedvalue (creo que era asi, lo estoy intentando recordar
Obtendras el valor 28, aunque no se muestra en el combo.
Te refieres a esto?
Si te refieres a esto te puedo pegar algo de codigo que tengo hecho
Saludos
Gracias #2 y #3, lo he hecho así. Por último, hay alguna forma de invertir el orden del combobox? Puto Visual Basic xD
Estas utizando asp o forms?
Estas utilizando un datatable o dataset para cargar el combo?
Yo haria lo siguiente (Teniendo el dataset original "ds")
Creamos un dataset para invertir al que llamamos dsinvert
y el codigo sería el siguiente:
Dim dsinvert As New DataSet
dsinvert = ds.Clone
For i = ds.Tables(0).Rows.Count - 1 To 0 Step -1
Dim dr As DataRow
dr = dsinvert.Tables(0).NewRow
dr = ds.Tables(0).Rows(i)
dsinvert.Tables(0).ImportRow(dr)
Next
Utilizo forms, lo haré como dices aunque buscaba algo más sencillo tipo Reverse, pero bueno VB es así xD
No se si existe alguna funcion en el framework que te haga un reverse en los datos del dataset. Yo no la cononzco.
De todos modos las lineas de arriba son super faciles
Tienes el dataset "ds" con tus datos originales
El dsinvert se crea clonandose a partir de ds pero sin datos, solo estructura y columnas
Una vez tienes ambos, recorres el ds original pero al reves, en vez de
i=0 hasta numeroderegistros
es de numeroderegistros hasta 0
Entonces, lo que hace es ir metiendo desde el final hasta el principio
las filas (rows) en el nuevo dataset quedándo así en orden inverso.