UN LISTBOX, Se puede crear en tiempo de ejecucion??

Post Reply
User avatar
lubin
Posts: 451
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru
Contact:

UN LISTBOX, Se puede crear en tiempo de ejecucion??

Post by lubin »

Por favor, vuelvo a lanzar la consulta sobre un listbox en recursos:

Necesito activar un Listbox en tiempo de ejecucion, asumiendo que tengo los nombres de los campos, encabezados y tamaños de cada campo en unos arreglos.

La idea es que se escojan los campos que se desean activar (esto ya lo tengo) y que se muestren en un nuevo dialogo con su Listbox (el que se desea generar).


Esto es posible ??? si no es posible por favor avisenme para ver otro modo,

Gracias

Lubin
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: UN LISTBOX, Se puede crear en tiempo de ejecucion??

Post by Daniel Garcia-Gil »

lubin

coloca un ejemplo de como lo estan tratando de implementar para tener un punto de partida para ayudarte...

por lo que logro entender te puede decir que si se puede hacer lo que estas buscando...

por lo menos este punto (que ya lo tienes)

lubin wrote:La idea es que se escojan los campos que se desean activar (esto ya lo tengo)
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
lubin
Posts: 451
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru
Contact:

Re: UN LISTBOX, Se puede crear en tieampo de ejecucion??

Post by lubin »

Gracias Daniel por tu interes

Luego de un proceso he cargado 3 arreglos con los siguientes valores:

EL PRIMER ARREGLO: V_CAMPO van los campos a mostrar en el Listbox, (pense en un valor Codeblock en cada elemento para evaluarlo en el listbox)
V_Campo:={}
AADD(V_Campo, { || mitabla->Codigo} )
AADD(V_Campo, { || mitabla->Nombre} )
AADD(V_Campo, { || mitabla->fnac} )
AADD(V_Campo, { || MI_EDAD(mitabla->fnac) } )

NOTA : como veras el ultimo elemento del arreglo incluye una funcion que recibe la fecha y retorna la edad en años (MI_EDAD())

El SEGUNDO ARREGLO : V_ENCABEZADO contiene los Titulos de lisbox rn cada columna (HEADER)
V_Encabezado:={}
AADD(V_encabezado, "Codigo" )
AADD(V_encabezado, "Nombre y apellidos" )
AADD(V_encabezado, "Fec.Nacimiento" )
AADD(V_encabezado, "Edad" )

EL TERCER ARREGLO : V_SIZE contiene los anchos de cada columna
V_SIZE:={}
AADD(V_size, 25 )
AADD(V_size, 160 )
AADD(V_size, 50 )
AADD(V_size, 25 )

Teoricamente con estos datos debemos de crear el LISTBOX ....
REDEFINE LISTBOX oLBx FIELDS
ID 299 OF oDlg

oLBx:aHeaders:=V_ENCABEZADO
ACTIVATE DIALOG oDlg


Como se carga los arreglos del los campos y el size ??

Gracias por la ayuda
Lubin
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: UN LISTBOX, Se puede crear en tiempo de ejecucion??

Post by Daniel Garcia-Gil »

Lubin

Daniel Garcia-Gil wrote:coloca un ejemplo de como lo estan tratando de implementar para tener un punto de partida para ayudarte...


al decirte esto, quiero decir, que nos expongas un ejemplo que podamos construir,
actualmente no tenemos una dbf con data con la que podamos probar
ni un prg que podemos construir...

ofrecenos todo lo posible para poder ayudarte...

es ver lo que tu ves... :-)
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
lubin
Posts: 451
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru
Contact:

Re: UN LISTBOX, Se puede crear en tiempo de ejecucion??

Post by lubin »

Daniel

Pense que el problema se resumia a la forma como podemos definir un listbox, teniendo los datos indicados,, dejame preparar algo mas detallado para que lo puedan probar..

Gracias
Lubin
horacio
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: UN LISTBOX, Se puede crear en tiempo de ejecucion??

Post by horacio »

Lubin, Si entiendo lo que dices, el problema que veo es la construcción de los arreglos para mostrarlos en un listbox ( browse ). Si lo construyeras el arreglo de esta manera funcionaria:

Aadd( aArray, { mitabla->Codigo, "Codigo", 25 } )
Aadd( aArray, { mitabla->Nombre, "Nombre y apellidos", 160 } )
Aadd( aArray, { mitabla->fnac, "Fec.Nacimiento", 50 } )
Aadd( aArray, { MI_EDAD(mitabla->fnac), "Edad" , 25 } )

Espero te sirva
Salu2
Post Reply