xBrowse(empty) x bRClicked

Post Reply
User avatar
Johnson
Posts: 18
Joined: Sat Nov 26, 2005 4:45 pm
Location: Brasil
Contact:

xBrowse(empty) x bRClicked

Post by Johnson »

porque xbrowse vazio nao aceita xBro:bRClicked := { | nRow, nCol | MyFunction(nRow, nCol, .... ) } ?

twbrowse usava sem problema.
User avatar
joseluisysturiz
Posts: 2024
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Post by joseluisysturiz »

esta solucion es de parte de MCFOX, el cual estabamos buscandole la vuelta, parece es un detalle de la clase.

Textualmente de MCFOX:

"...pienso que es un pequeño bug de la clase
"bRClicked" es una data que viene heredada de control,
cuando se presiona RCLICK xbrowse llama al methodo oBrw:RButtonDown(),
que hara las verificaciones pertinentes para ejecutar los code block respectivos al evento,
pero si estan dentro de un rango fila y/o columna, cuando no hay datos en el browse
no existe una validacion que verifique si "bRClicked" es diferente a NIL ( aqui es
donde creo yo esta el bug ) si se presiona el RCLICK fuera de un rango fila y/o columna
se ejecuta el metodo "RButtonDown" de la clase heredera tambien se ejecuta a medidas que se va
creando registros y se hace el click dentro de ese rango, se puede arreglar de la
siguiente forma:

ubica esta lineas en el metodo RButtonDown de xbrowse

If nColPos != 0 .and. nRowPos != 0
return Super:RButtonDown( nRow, nCol, nKeyFlags )
endif

y agrega este .or.

If nColPos != 0 .and. nRowPos != 0 .or. ::bRClicked != NIL
return Super:RButtonDown( nRow, nCol, nKeyFlags )
endif

si no quieres modificar la clase

en vez de usar bRClicked, usa la data de la columnas bRClickData para asignarle
el code block a cada columna ..."


FOR nN := 1 TO LEN( oBrwInv:aCols )
oBrwInv:aCols[ nN ]:bRClickData := { || If( RecCount() == 0, msginfo( "Vacio..." ), ) }
NEXT

esta probado y funciona...
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
Johnson
Posts: 18
Joined: Sat Nov 26, 2005 4:45 pm
Location: Brasil
Contact:

Post by Johnson »

PERFECT
gracias Jose Luis
Un abrazo
Post Reply