xBrowse tooltip

Post Reply
wartiaga
Posts: 254
Joined: Wed May 25, 2016 1:04 am

xBrowse tooltip

Post by wartiaga »

Hola, tengo un XBrowse que cambia el color de la línea según el valor de un campo de archivo. Funciona bien, pero me gustaría mostrar uno tooltip emergente al pasar el ratón sobre esa línea, en cualquier columna. Tengo problemas. ¿Algún consejo?

Meu Código:

Lista1:bClrStd := {|| {CLR_BLUE, iif(LANBAN->FECHADO="S", CLR_HGRAY, CLR_WHITE) } }

Lista1:bToolTip := { || ;
IIF( Upper(AllTrim( LANBAN->FECHADO )) == "S", ;
"Data de fechamento: " + Dtoc(LANBAN->DATAFECH) + CRLF + ;
"Horas: " + AllTrim(LANBAN->HORAS) + CRLF + ;
"Saldo: " + Transform( LANBAN->SALDO, "9,999,999,999.99" ), ;
NIL ) }

Gracias

User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: xBrowse tooltip

Post by Antonio Linares »

Solución para Tooltips por Fila en XBrowse

El problema con tu código es que estás usando Lista1:bToolTip, pero esta propiedad no funciona de la manera que necesitas para mostrar tooltips diferentes por fila. En XBrowse, bToolTip es para el control completo, no evalúa dinámicamente por cada fila.


La Solución Correcta

Para mostrar tooltips que cambien según el valor de cada fila, debes usar bCellToolTips a nivel del browse, que es evaluado para cada celda:


Code: Select all | Expand

Lista1:bCellToolTips := { |oCol| ;  
   IIF( Upper(AllTrim( LANBAN->FECHADO )) == "S", ;  
       "Data de fechamento: " + Dtoc(LANBAN->DATAFECH) + CRLF + ;  
       "Horas: " + AllTrim(LANBAN->HORAS) + CRLF + ;  
       "Saldo: " + Transform( LANBAN->SALDO, "9,999,999,999.99" ), ;  
       NIL ) }  

0-cite-0


Cómo Funciona

El codeblock bCellToolTips recibe como parámetro el objeto de la columna (oCol) y debe retornar:

  • Un string con el texto del tooltip
  • Un array { cTexto, cTítulo } para tooltip con título
  • NIL si no quieres mostrar tooltip en esa celda

El sistema de tooltips de XBrowse verifica en este orden dentro del método MouseMove:

  1. Primero oCol:bCellToolTip (tooltip específico de columna)
  2. Luego oCol:bToolTip (con más parámetros)
  3. Y también considera bCellToolTips a nivel de browse 0-cite-1

Ejemplo Alternativo

También puedes usar bCellToolTips de forma más simple para mostrar el valor de cada celda: 0-cite-2


Alternativa por Columna

Si solo necesitas el tooltip en una columna específica, puedes usar bCellToolTip en esa columna: 0-cite-3

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: xBrowse tooltip

Post by karinha »

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
wartiaga
Posts: 254
Joined: Wed May 25, 2016 1:04 am

Re: xBrowse tooltip

Post by wartiaga »

Antonio Linares wrote: Tue Jan 27, 2026 7:04 am Solución para Tooltips por Fila en XBrowse

El problema con tu código es que estás usando Lista1:bToolTip, pero esta propiedad no funciona de la manera que necesitas para mostrar tooltips diferentes por fila. En XBrowse, bToolTip es para el control completo, no evalúa dinámicamente por cada fila.


La Solución Correcta

Para mostrar tooltips que cambien según el valor de cada fila, debes usar bCellToolTips a nivel del browse, que es evaluado para cada celda:


Code: Select all | Expand

Lista1:bCellToolTips := { |oCol| ;  
   IIF( Upper(AllTrim( LANBAN->FECHADO )) == "S", ;  
       "Data de fechamento: " + Dtoc(LANBAN->DATAFECH) + CRLF + ;  
       "Horas: " + AllTrim(LANBAN->HORAS) + CRLF + ;  
       "Saldo: " + Transform( LANBAN->SALDO, "9,999,999,999.99" ), ;  
       NIL ) }  

0-cite-0


Cómo Funciona

El codeblock bCellToolTips recibe como parámetro el objeto de la columna (oCol) y debe retornar:

  • Un string con el texto del tooltip
  • Un array { cTexto, cTítulo } para tooltip con título
  • NIL si no quieres mostrar tooltip en esa celda

El sistema de tooltips de XBrowse verifica en este orden dentro del método MouseMove:

  1. Primero oCol:bCellToolTip (tooltip específico de columna)
  2. Luego oCol:bToolTip (con más parámetros)
  3. Y también considera bCellToolTips a nivel de browse 0-cite-1

Ejemplo Alternativo

También puedes usar bCellToolTips de forma más simple para mostrar el valor de cada celda: 0-cite-2


Alternativa por Columna

Si solo necesitas el tooltip en una columna específica, puedes usar bCellToolTip en esa columna: 0-cite-3

Gracias Antonio!

wartiaga
Posts: 254
Joined: Wed May 25, 2016 1:04 am

Re: xBrowse tooltip

Post by wartiaga »

Post Reply