duda sobre las cabeceras de los brows

Post Reply
Elias Torres
Posts: 233
Joined: Wed Aug 09, 2006 3:07 pm

duda sobre las cabeceras de los brows

Post by Elias Torres »

Hola a todos...

Quería saber si cuando se coloca un brows se pueden poner acciones sobre las cabeceras, por ejemplo para que al pinchar se ordene todo el grid por el tipo de dato de esa columna...

Otra solución que he probado es la de poner un boton justo encima de cada cabecera para que al pulsarlo haga la accion que quiero, pero no se como pintar el boton encima del grid, ya que me lo pinta siempre por detras, con lo que no puedo pulsarlo... Nose si habrá alguna forma de enviarlo al frente..

Alguien tiene alguna idea al respecto...

Saludos..

Elías Torres.
R.F.
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Post by R.F. »

El browse tiene una data llamada ::aActions la cual es una array de bloques de codigo, uno por cada columna del browse, cuando haces click sobre la cabecera del browse se ejecutan las acciones metidas en el bloque de codigo:

oBrw:aActions := {{|| DBSETORDER(2), oBrw:Refresh()}, {|| DBSETORDER(3), oBrw:Upstable()},{|| NIL}}
Saludos
R.F.
Elias Torres
Posts: 233
Joined: Wed Aug 09, 2006 3:07 pm

Post by Elias Torres »

Hola Rene.

Gracias por la ayuda...he solucionado el problema que tenía.

Me gustaría conseguir algun buen manual sobre fivewin y he visto el link que tienes y me he registrado para descargarme el cd con las utilidades y manuales...pero aun no me ha llegado el correo de confirmación de registro...


Un saludo.

Elías Torres.
mjcc
Posts: 139
Joined: Fri Apr 07, 2006 9:16 pm

No entiendo

Post by mjcc »

Me podrias enviar un ejemplo de como controlas las columnas cuando se hace un click o doble click encima por favor. Llevo tiempo buscando este tipo de funcion y no la he conseguido encontrar.

muchas gracias
imjcc@mjccsl.com
Elias Torres
Posts: 233
Joined: Wed Aug 09, 2006 3:07 pm

Post by Elias Torres »

Hola...

Yo lo uso así...

DEFINE dialog odlg1 resource "listado_articulos"
redefine LISTBOX oBrw;
FIELDS hBmp, temporal->codart, temporal->nomart;
HEADERS "","Código", "Descripción" ID 500 OF oDlg1
oBrw:aActions := {{|| NIL},{||ordenar_por_codigo(),oBrw:Upstable(),oBrw:Refresh()}, {|| ordenar_por_nombre(),oBrw:Upstable(),oBrw:Refresh()}}

ACTIVATE dialog odlg1


Como ves el listbox lo he llamado oBrw. En el tienes 3 cabeceras, la primera es para poner un icono, la segunda indica el campo codart de una tabla temporal y el tercero el nombre de esa misma tabla.

Luego, que es lo que tu quieres, utilizo lo siguiente:

oBrw:aActions := {{|| NIL},{||ordenar_por_codigo(),oBrw:Upstable(),oBrw:Refresh()}, {|| ordenar_por_nombre(),oBrw:Upstable(),oBrw:Refresh()}}

Esto lo que hace es lo siguiente: si te fijas tienes 3 bloques encerrados por {} y separados por ',' , el primero corresponde a la primera colunma (tiene puesto un nil porq esa columna es para un icono, entonces no hará nada), la segunda contiene una funcion (ordenar_por_nombre() seguido de un refresco del oBrw), y la tercera contiene otra funcion....

Espero haberte ayudado...


Saludos.

Elías Torres.
mjcc
Posts: 139
Joined: Fri Apr 07, 2006 9:16 pm

Me has ayudado mucho, gracias por tu respuesta.

Post by mjcc »

Me has ayudado mucho, gracias por tu respuesta.
Post Reply