USANDO: Clase TWBrowse by Hernan Ceccarelli
redefine ListBox oLbx ;
FIELDS "" ;
FIELDSIZES 50, 50, 50 ;
HEADERS "Semana", "C1", "C2" ;
ID 301 OF oDlg UPDATE
oLbx:bLine := {|| {fieldget(3), fieldget(1), fieldget(2)} }
De esta manera funciona bien el TWBrowse
Lo que requiero es que el ListBox sea manejado con una Variable, para que me muestre, _ que se requieran.
Lo Manejo de esta Manera;
aCamp := {fieldget(3), fieldget(1), fieldget(2)}
redefine ListBox oLbx ;
FIELDS "" ;
FIELDSIZES 50, 50, 50 ;
HEADERS "Semana", "C1", "C2" ;
ID 301 OF oDlg UPDATE
oLbx:bLine := {|| aCamp }
Me muestra todos los registros iguales.
TWBrowse de Hernan, Columnas desde una Variable
Gracias, Funciona igual
Gracias por tu Aportacion, el resuldado es el mismo.
El codigo es el siguiente;
aCamp := { A06PRES->(fieldget(3)), A06PRES->(fieldget(1)), A06PRES->(fieldget(2))}
redefine ListBox oLbx ;
FIELDS "" ;
FIELDSIZES 50, 50, 50 ;
HEADERS "Semana", "C1", "C2" ;
ID 301 OF oDlg UPDATE
oLbx:cAlias := "A06PRES"
oLbx:bLine := {|| aCamp }
El codigo es el siguiente;
aCamp := { A06PRES->(fieldget(3)), A06PRES->(fieldget(1)), A06PRES->(fieldget(2))}
redefine ListBox oLbx ;
FIELDS "" ;
FIELDSIZES 50, 50, 50 ;
HEADERS "Semana", "C1", "C2" ;
ID 301 OF oDlg UPDATE
oLbx:cAlias := "A06PRES"
oLbx:bLine := {|| aCamp }
- Hernan Diego Ceccarelli
- Posts: 84
- Joined: Fri Oct 07, 2005 4:51 pm
- Location: Rosario - Santa Fe - Argentina
- Contact:
Re: TWBrowse de Hernan, Columnas desde una Variable
Basicamente al agregar y definir columnas en tiempo de ejecucion tienes que tener en cuenta lo siguiente.
1) bLine devuelva un arreglo en funcion del nro de columnas que sean necesarias mostrar.
2) Ajustar ::aHeaders y ::aFooters en el momento del cambio de agregar o quitar columnas
3) Ajustar ::aColSizes que nos define los anchos en pixeles de la columna.
4) Ajustar ::aJustify, ::aHJustify y ::aFJustify que guardan las alineaciones de columnas de datos, headers y footers
5) Verificar que ::oLbx:nColPos:= 1 y ::oLbx:nColAct:= 1 NO superen la cantidad de columnas activas.
6) ::oLbx:lSyncH:= .T., ::oLbx:lSyncF:= .T. , ::oLbx:Refresh()
Parece un Rollo, pero es SENCILLO, muy sencillo![Smile :)](./images/smilies/icon_smile.gif)
Hernan
1) bLine devuelva un arreglo en funcion del nro de columnas que sean necesarias mostrar.
2) Ajustar ::aHeaders y ::aFooters en el momento del cambio de agregar o quitar columnas
3) Ajustar ::aColSizes que nos define los anchos en pixeles de la columna.
4) Ajustar ::aJustify, ::aHJustify y ::aFJustify que guardan las alineaciones de columnas de datos, headers y footers
5) Verificar que ::oLbx:nColPos:= 1 y ::oLbx:nColAct:= 1 NO superen la cantidad de columnas activas.
6) ::oLbx:lSyncH:= .T., ::oLbx:lSyncF:= .T. , ::oLbx:Refresh()
Parece un Rollo, pero es SENCILLO, muy sencillo
![Smile :)](./images/smilies/icon_smile.gif)
Hernan
-
- Posts: 117
- Joined: Sun Oct 01, 2006 11:39 pm
Re: TWBrowse de Hernan, Columnas desde una Variable
Hola Hernan:
Esposible obtener tu Twbrowse, se habla mucho de ella en el foro y me gustaria poder aplicarla en mis sistemas. Como puedo disponer de ella, uso Fwh 2.7 y xHarbour.
Mi privado es " marf2@tutopia.com ", desde ya muchas gracias.
Miguel
Esposible obtener tu Twbrowse, se habla mucho de ella en el foro y me gustaria poder aplicarla en mis sistemas. Como puedo disponer de ella, uso Fwh 2.7 y xHarbour.
Mi privado es " marf2@tutopia.com ", desde ya muchas gracias.
Miguel
-
- Posts: 6
- Joined: Sun Jan 29, 2006 7:43 pm
Re: Gracias, Funciona igual
Creo que estás cometiendo un error conceptual. {|| aCamp } te retornará siempre el array que se evaluó en el momento que lo declaraste, por eso los resultados que obtienes.jhugono wrote:Gracias por tu Aportacion, el resuldado es el mismo.
El codigo es el siguiente;
aCamp := { A06PRES->(fieldget(3)), A06PRES->(fieldget(1)), A06PRES->(fieldget(2))}
redefine ListBox oLbx ;
FIELDS "" ;
FIELDSIZES 50, 50, 50 ;
HEADERS "Semana", "C1", "C2" ;
ID 301 OF oDlg UPDATE
oLbx:cAlias := "A06PRES"
oLbx:bLine := {|| aCamp }
Para explicarme mejor: cuando declaraste
aCamp := { A06PRES->(fieldget(3)), A06PRES->(fieldget(1)), A06PRES->(fieldget(2))}
lo que hiciste fue crear un array de 3 elementos que contendran los valores de _ EN ESE MOMENTO, por ejemplo { 'soyelcampo3', 'soyel1', 'soyel2peromecreoel3' }
Eso quedará fijo! Luego, si
bline:= {||acamp}
entonces cada vez que se evalue bline retornara una referencia al campo original.
la declaración correcta sería
oLbx:bLine := { || A06PRES->(fieldget(3)), A06PRES->(fieldget(1)), A06PRES->(fieldget(2))}
y con eso te aseguro funciona.
Saludos,
carlos.
Hernan Diego Ceccarelli
Buenas Noches Hernan Diego Ceccarelli
Gracias por tu Ayuda.
El problema que tengo es que no se como modificar y aplicar el oLbx:bline
Desde una variable.
Digamos en un momento quiero definir un ListBox con Tres Campos, y en otro momento
Con 5 campos.
Esto es con el fin de Tener un ListBox que no sea fijo en el cual, pueda agregar, modificar y borrar Columnas.
De esta manera si funciona;
oLbx:bLine := { A06PRES->(fieldget(3)), A06PRES->(fieldget(1)), A06PRES->(fieldget(2))}
Pero es un ListBox Fijo.
Pero si lo asigno a una variable, no me muestra todos los registros iguales;
aCamp := { A06PRES->(fieldget(3)), A06PRES->(fieldget(1)), A06PRES->(fieldget(2))}
oLbx:bLine := {|| aCamp }
Saludos y Gracias
Hugo Navarro Orozco
[/code]
Gracias por tu Ayuda.
El problema que tengo es que no se como modificar y aplicar el oLbx:bline
Desde una variable.
Digamos en un momento quiero definir un ListBox con Tres Campos, y en otro momento
Con 5 campos.
Esto es con el fin de Tener un ListBox que no sea fijo en el cual, pueda agregar, modificar y borrar Columnas.
De esta manera si funciona;
oLbx:bLine := { A06PRES->(fieldget(3)), A06PRES->(fieldget(1)), A06PRES->(fieldget(2))}
Pero es un ListBox Fijo.
Pero si lo asigno a una variable, no me muestra todos los registros iguales;
aCamp := { A06PRES->(fieldget(3)), A06PRES->(fieldget(1)), A06PRES->(fieldget(2))}
oLbx:bLine := {|| aCamp }
Saludos y Gracias
Hugo Navarro Orozco
[/code]
Ya quedo, Gracias a Todos
Buenas Noches a Todos.
Maneje una cadena;
cLine := "{ A06PRES->(fieldget(3)), A06PRES->(fieldget(1)), A06PRES->(fieldget(2))}"
oLbx:bLine := { || &cLine }
Si funciono.
Saludos y Gracias ...
Maneje una cadena;
cLine := "{ A06PRES->(fieldget(3)), A06PRES->(fieldget(1)), A06PRES->(fieldget(2))}"
oLbx:bLine := { || &cLine }
Si funciono.
Saludos y Gracias ...
- Hernan Diego Ceccarelli
- Posts: 84
- Joined: Fri Oct 07, 2005 4:51 pm
- Location: Rosario - Santa Fe - Argentina
- Contact:
Re: Ya quedo, Gracias a Todos
Gracias a le gente que me escribe a mi correo personal. Voy a actualizar lo antes posible, los que piden que actualice la version para hacerla funcionar sobre FW7.x y 6.x, vamos a tratar de lograrlo, voy a charlar con Antonio Linares a ver si me hecha una manito asi todos quedan contentos. Le he agregado unas cosillas a la clase, como siempre digo podria ser mejor. ![Smile :)](./images/smilies/icon_smile.gif)
Saludos a todos
Hernan
![Smile :)](./images/smilies/icon_smile.gif)
Saludos a todos
Hernan