https://foro.gambas-es.org/viewtopic.php?f=1&t=495
-----------------------------------
Luiz Oliveira
Miercoles, 10 Marzo 2010, 17:34

ListBox Y ComboBox En Gambas
-----------------------------------
Saludos a todos,

Tengo una pregunta controles ListBox y ComboBox.
En mis proyectos en MS VB6, yo uso el ItemData para almacenar el identificador de una base de datos de registro. En Gambas no podía hacer esta operación, siga el código de abajo cómo el uso de MS Visual Basic 6.
Tengo que escribir este código en Gambas.
Por favor, ¿me pueden ayudar?

CÓDIGO EN MS VB6

1. Seleccione los registros de una tabla
  rs.Open "Select...."

with vlst
   .clear
   do Until rs.EOF
      .AddItem rs!nome
      .AddData(.NewIndex) = rs!id 'este contenido será usado en otra operación de
       rs.MoveNext
   loop
end with


Muchas gracias.


-----------------------------------
nrcefe
Jueves, 11 Marzo 2010, 12:30

Re: ListBox Y ComboBox En Gambas
-----------------------------------
yo lo que hago es usar un array como "itemdata" .

public guardaitemdata as string[]

rs.Open "Select...." 

with vlst 
.clear 
do Until rs.EOF 
.AddItem rs!nome 
[color=brown]guardaitemdata[/color].add(rs!id)  
loop 
end with 

saludos

De esta forma guardo el id, en la poscion 1 voy a tener el id del primer nombre, el la 2 posicion voy a tener el id del segundo nombre, y asi sucesivamente

saludos


-----------------------------------
Luiz Oliveira
Jueves, 11 Marzo 2010, 21:35

Re: ListBox Y ComboBox En Gambas
-----------------------------------
Voy a poner en práctica esta manera en mi proyecto. 

Gracias por su ayuda.


-----------------------------------
nrcefe
Viernes, 12 Marzo 2010, 01:11

Re: ListBox Y ComboBox En Gambas
-----------------------------------
Este metodo lo aplico por ejemplo para determinar el codigo de DNI. En un combo pongo los distintos tipos de Documentos (LE,DNI,LC), y en un array los codigos respectivos. Para determinar el codigo del documento que selecciona el usuario,llamo a  una funcion que es la que me determina el codigo.



'funcion que determina el codigo del documento.
[cell class=spoiler][color=blue]PUBLIC FUNCTION[/color] indicecombo(combo AS ComboBox, vector AS String[]) AS String
  DIM codigo AS String
  
  [color=blue]IF[/color] combo.Index = -1 [color=blue]THEN[/color] [color=blue]RETURN[/color] 
  
  codigo = vector[combo.Index]
  [color=blue]RETURN[/color] codigo
  
[color=blue]END [/color][/cell]


'funcion que llena el array
[cell class=spoiler][color=blue]PUBLIC FUNCTION[/color] llenararray(vector AS String[], columna AS Integer)
  vector.Add(" ")
  [color=blue]DO WHILE[/color] basededatos.resultadejecons.available
    vector.Add(basededatos.resultadejecons[columna])
    basededatos.resultadejecons.movenext
  [color=blue]LOOP[/color] 
[color=blue]END[/color][/cell]


'y de esta manera llamo a la funcion

[cell class=spoiler]coddoc = Funciones.indicecombo(tipodoc, var.documentocodigo)[/cell]


