Tengo un Browse en el cual defino un color de fondo en un array así:
Code: Select all
local aVerde:={ { .50,65280,16777215},{ .50,16777215,65280 } }
Code: Select all
WITH OBJECT oBrw
:nEditTypes := EDIT_GET
:bClrStd:={|| if(!lEncontrado, ;
;
(if(len(alltrim(oDbf:BUSCADO))>0 ,;
({CLR_BLACK, aVerde} ),;
({nrgb(0,0,0),nClrFondo}) )) , ;
;
({nrgb(0,0,0),nClrFondo}) ) }
End
Pero esto da un error al intentar editar un campo cuando la línea que lo contiene tiene el color de fondo dado por el array (en el resto no hay problemas).
Lo solucioné modificando la clase xBrowse en el METHOD Edit( nKey ) CLASS TXBrwColumn
Cambié las líneas:
Code: Select all
::oEditGet := TGet():New( 0,0,{ | u | If(PCount()==0,uValue,uValue:= u ) },;
::oBrw,0,0,cPic,,aColors[ 1 ],aColors[ 2 ];
,oFont,.F.,,.F.,,.F.,,lCenter,lRight,,.F.,.f.,.T.,,.F.,,,,) // oFont ADDED
Por:
Code: Select all
::oEditGet := TGet():New( 0,0,{ | u | If(PCount()==0,uValue,uValue:= u ) },;
::oBrw,0,0,cPic,,aColors[ 1 ],(if(valtype(aColors[2])=='N',aColors[ 2 ], 16770271 ));
,oFont,.F.,,.F.,,.F.,,lCenter,lRight,,.F.,.f.,.T.,,.F.,,,,) // oFont ADDED
Y problema resuelto.
Rolando