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

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

Postby lubin » Sun Feb 20, 2011 1:57 am

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
lubin
 
Posts: 450
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

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

Postby Daniel Garcia-Gil » Sun Feb 20, 2011 2:18 am

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)
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

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

Postby lubin » Sun Feb 20, 2011 3:17 am

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
lubin
 
Posts: 450
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

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

Postby Daniel Garcia-Gil » Sun Feb 20, 2011 3:26 am

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... :-)
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

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

Postby lubin » Sun Feb 20, 2011 3:41 am

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
User avatar
lubin
 
Posts: 450
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

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

Postby horacio » Tue Feb 22, 2011 12:20 am

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
horacio
 
Posts: 1363
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 60 guests