viernes, 29 de junio de 2012

Cargar dinamicamente un DropDownListBox con PowerBuilder

Como sabemos el objeto dropdownlistbox(ddlb) en power builder es una simple lista desplegable de opciones en html seria como usar la etiqueta 'select'. Bien en como ya sabras en PB los items se agregan manualmente pero afortunadamente tiene una funcion llamada additem() el cual recibe como parametro una cadena string para la descripcion del item, bueno para nuestro ejemplo obtendremos los datos de unos array almacenados pero tu lo puedes obtener por ejemplo con un procedure.

string valores[]
integer ids[], i
valores = {'paraguay','programacion','sourcepy'}
ids = {1,2,3}

for i=1 to upperbound(valores[])
  ddlb_datos.additem('(' + string(ids[i] +') '+ valores[i]))
next

En este ejemplo agregamos los items con su codigo separando lo entre parentesis para que hacemos eso? para despues recuperar el id asociado a ese valor.
Y para ello utilizaremos una funcion que nos sirve para extraer parte de un texto el cual pueden ver en este enlace: extraer-partes-de-un-texto-con-power-builder.
Y para obtener el id guardado lo recuperamos de la sgte forma:
string vdatos
integer vid_dato
vdatos = ddlb_datos.text
vid_dato = integer( fn_buscarextexto(vdatos, '(', ')') )

Con este simple codigo hemos recuperado el id separandolo de la descripcion bueno esto ya queda a criterio de cada programador

No hay comentarios.:

Publicar un comentario