Hola a todos, necesito la ayuda de ustedes, que desde hace par de dias ando batallando con los checkbox de marcar y desmarcar todos los registros o la opcion de seleccionar registros a marcar,he tomado el ejemplo en los samples de Mr Nages Rao, pero lo adapte a mi necesidad , no me hace el efecto.
Pero si puedo marcar registro por registro, de eso no tengo problema y me cambia el estado de Si ó No el unico problema que tengo, es marcar y desmarcar todos desde Header, serian tan amable, que alguien me pudiera proporcionarme algun ejemplo sencillo?
Este es el codigo :
- Code: Select all Expand view
- S99->(OrdScope(0,STR(nNumFol,4)))
S99->(OrdScope(1,STR(nNumFol,4)))
S99->(DbGoTop())
DEFINE DIALOG oDlg2 RESOURCE "EDITFACT" TITLE "Seleccionar registros..."
REDEFINE XBROWSE oBrw ID 101 OF oDlg2 ;
HEADER "Folio" ,"Cuentas","Segm" ,"Fecha" ,"Pagar" ,"Referencia","Saldo","Base" ,"IVA" ,"Base" ,"IVA" ,"Tasa 0","Otros";
COLUMNS "NUMFOL","CUENTAS","SEGNEG","FHAMOV","PAGADO","REFERE" ,"SALDO","IMPBS1","IVA_1","IMPBS2","IVA_2","T_0" ,"OTROS";
PICTURES "9999","","9999","@D","","@!","99,999,999.99","99,999,999.99","99,999,999.99","99,999,999.99","99,999,999.99","99,999,999.99";
SIZES 42,114,36,55,40,60,75,75,75,75,75,75,75 ;
ALIAS S99->( ALIAS() ) // FOOTERS CELL AUTOCOLS
WITH OBJECT oBrw
//----- ESTILOS DE LINEAS -----\\
* :nMarqueeStyle := MARQSTYLE_HIGHLROW // Barra selectora
:nMarqueeStyle := MARQSTYLE_HIGHLWIN7 // Muy buena barra selectora
* :nMarqueeStyle := MARQSTYLE_HIGHLCELL // No permite la edicion de celda dandole Enter ó Doble Click
:lColDividerComplete:= .T. //completa pintado hasta el footer cuando lineas no llenan todo el browse
:nColDividerStyle := LINESTYLE_LIGHTGRAY // LINESTYLE_BLACK
:lAllowColSwapping := .F. // Si es .t., intercambiar col es permitido
//----- Headers y Footers -----\\
:lFooter := .T. //Que tendrá footer
:lRecordSelector := .F. // Falso o verdadero, COL de la flechita de la Izq
// Colores de texto y fondo de texto \\
:bClrSel := { || { nRGB( 0, 0,255), aGradBarSel } } // para barra de linea selecc cuando el control no tiene el foco
:bClrSelFocus := { || { CLR_BLACK, aGradBarSelFocus } } // para barra de linea selecc cuando el control tiene el foco
:lKinetic := .F.
:lContrastClr := .F. //Para que no cambie color de texto automaticamente segun intensidad del fondo
//----- Datos del browse -----\\
:aCols[2]:bStrData := { || Ext_xNiv(S99->CUENTAS) }
*:AddBmpFile("checkon.BMP")
*:AddBmpFile("checkoff.BMP")
:aCols[ 5]:AddResource( "CHBOXOFF" ) // tu ícono p/el boton
:aCols[ 5]:AddResource( "CHBOXON" )
:aCols[ 5]:cHeader := " "
:aCols[ 5]:nHeadBmpNo := { || If( Len( oBrw:aSelected ) == oBrw:nLen, 2, 1 ) }
:aCols[ 5]:bEditValue := { || If( AScan( oBrw:aSelected, oBrw:BookMark ) > 0, .t., nil ) }
:aCols[ 5]:bLClickHeader := { |r,c,f,oCol| If( Len( oBrw:aSelected ) == oBrw:nLen, ;
oBrw:SelectNone(), oBrw:SelectAll() ) }
:aCols[ 5]:bBmpData := { || IF(S99->PAGADO, 2, 1) }
:aCols[ 5]:bStrData := { || IF(S99->PAGADO,'Si', 'No') }
:aCols[ 5]:blDClickData := { |o,v| ( S99->PAGADO:= !S99->PAGADO, oBrw:DrawSelect() ) }
:bKeyDown := { |nKey| V_nKey(nKey,oBrw,S99,aSum) }
:aCols[ 7]:oHeaderFont := oFont
:aCols[ 7]:bFooter := {|| TRANS(aSum[1,1],"99,999,999.99") } // Saldo
:aCols[ 7]:nFootStrAlign:= 1 // AL_LEFT - AL_RIGHT - AL_CENTER - 0 - 1 - 2
:aCols[ 7]:oFooterFont := oFont
Aqui tampoco me hace el efecto de cambiar a modo de si
Aqui tampoco me hace el efecto de cambiar a modo de no
Mucho les agradecere su apoyo su ayuda con los ejemplos.
Saludos y buen dia.!
Atte: Adrian C. C.
acc69@hotmail.com