PDA

Ver la Versión Completa : ComboBox ítem que está seleccionado


belen
23-11-2006, 23:07:34
Hola, busqué sobre este tema en el foro y no lo encontré :(

Cargo desde una base de datos un ComboBox, lo que quiero saber es qué contiene el ítem que luego el usuario selecciona.

Es decir, si por ejemplo los elemento son:

itemindex elemento
0..................123
1..................458
2.................. 214
3..................60111


Si ComboBox1.ItemIndex=1 entonces quiero poder pasarle a una variable el valor '458'.

Cabe aclarar que la lista de elemento cambia contianuamente y no hay forma de determinar la cantidad de elementos que ésta posee.

No quiero usar los elementos de bases de datos, como el DBcomboBox

Pensé en hacer un array para guardar el itemindex asociado al elemento y el elemento, pero seguro que hay algo más práctico.

Desde ya muchas gracias a los que se tomen el tiempo siquiera de leer mi pregunta, saludos.

seoane
23-11-2006, 23:10:56
:confused:


Variable:= ComboBox1.Items[ComboBox1.ItemIndex];

belen
23-11-2006, 23:14:29
:eek:
jajaj ya me fijo !

muuuuuuuuuuuuuuuuuuuuuuuchas gracias Seoane !!:o

Más rápido que los bomberos !


Qué tonta ! :D

jams73
02-09-2016, 21:18:53
Y si fuera al contrario?, asignarle un valor al combobox de una variable??

roman
02-09-2016, 21:24:05
:confused:


ComboBox1.Items[ComboBox1.ItemIndex]:= Variable;


LineComment Saludos

jams73
02-09-2016, 23:04:29
Creo que no me explique bien, imagina que en el combobox tiene los item:
100
101
102
103
105
110
etc...

ese valor no esta visible porque no se a seleccionado nada, el combobox.text esta en blanco....como le harias para hacer que el valor visible del combobox fuera por ejemplo 105?

con el ejemplo que pasaste manda un error de "List index out of bounds (-1)"

dec
02-09-2016, 23:47:03
Hola,

Hay algo que se me escapa: un "ComboBox" no muestra una lista de valores, es decir, no podemos seleccionar un elemento de la misma forma en que podemos hacerlo en un "ListBox". Ahora bien, el "valor visible" de un ComboBox se determina mediante la propiedad "ItemIndex", y, si no partimos de un índice, sino de un valor, podemos usar el método "IndexOf" de la propiedad "Items" del ComboBox. Es decir:

Suponiendo un ComboBox con los siguientes elementos:


100
101
102
103
105


Para seleccionar el elemento "103", por ejemplo, podemos partir de su índice:


ComboBox.ItemIndex := 3;


O, más comúnmente, buscaremos antes el índice del elemento que nos interesa:


If ComboBox.Items.IndexOf('103') <> -1 then
ComboBox.ItemIndex := ComboBox.Items.IndexOf('103');


Si la propiedad "Style" del "ComboBox" es "csDropDown", entonces también podremos usar la propiedad "Text" tal que así:


ComboBox.Text := '110';


Esto último tiene la posible ventaja de que el elemento "110" no tiene porqué estar en el ComboBox previamente.

Espero que esto pueda resultarte útil. :)

jams73
05-09-2016, 18:44:11
Es correcto, buenas opciones, gracias!!!