#Include "Fivewin.ch"
#Include "Xbrowse.CH"
#Include "ADODEF.CH"
#define ID_ALT 1 // Alta
#define ID_MOD 3 // Modificar
Static oFontCli, oRsClien
*------------------------------------------------------------------------------
function Clientes(oBarMain)
*------------------------------------------------------------------------------
Local oWChild, oBar, oBrw
Local oError
Local aRowGrad,aSelGrad ,aCampos
oBarMain:Disable()
oRsClien := FW_OpenRecordSet( oConex, "SELECT * FROM CLIENTES ORDER BY CODIGO", 3 )
* If oConex <> nil
* oRsClien := TOLEAUTO():NEW("ADODB.RecordSet")
* oRsClien:Activeconnection(oConex)
* oRsClien:Locktype := adLockOptimistic
* oRsClien:CursorType := adOpenDynamic
* oRsClien:CursorLocation := adUseClient
* oRsClien:Source := "SELECT * FROM CLIENTES ORDER BY CODIGO"
*
* TRY
* oRsClien:Open()
* CATCH
* FOR EACH oError IN oCone:Errors
* ShowError(oError)
* NEXT
* END
* //--------------------------------------------------------------//
* Else
* MsgStop("No hay conexión con la base de datos","ATENCION")
* oBarMain:Enable()
* Return nil
* EndIf
aRowGrad := { { .5, RGB( 232, 241, 252 ), RGB( 232, 241, 252 ) }, ;
{ .5, RGB( 210, 225, 244 ), RGB( 235, 243, 253 ) } }
aSelGrad := { { .5, RGB( 255, 255, 251 ), RGB( 255, 237, 178 ) }, ;
{ .5, RGB( 255, 218, 103 ), RGB( 255, 233, 162 ) } }
* Info(oRsClien)
DEFINE FONT oFontCli NAME "VERDANA" SIZE 0, -11
DEFINE WINDOW oWChild MDICHILD NOSYSMENU;
TITLE "Fichero de Clientes" OF oWMain
SET FONT OF oWChild TO oFontCli
DEFINE BUTTONBAR oBar SIZE 70,60 OF oWChild 2007
DEFINE BUTTON NAME "Crear" OF oBar ;
PROMPT "NUEVO";
ACTION CtrCliente( ID_ALT,oWChild,oBrw) TOOLTIP "Nuevos Clientes"
DEFINE BUTTON NAME "Editar" OF oBar ;
PROMPT "EDITAR";
ACTION CtrCliente( ID_MOD,oWchild,oBrw ) TOOLTIP "Editar Clientes"
DEFINE BUTTON NAME "Borrar" OF oBar ;
PROMPT "BORRAR";
ACTION BorraCliente(oBrw ) TOOLTIP "Borrar Clientes"
DEFINE BUTTON NAME "Buscar" ;
PROMPT "BUSCAR";
OF oBar TOOLTIP "Busca un Registro";
ACTION BuscaTbrw( oRsClien,oBrw,cBusca )
DEFINE BUTTON NAME "Salir" ;
PROMPT "SALIR";
OF oBar TOOLTIP "Salir de esta pantalla";
ACTION oWChild:End()
oBrw := TXBrowse():New( oWChild )
oBrw:SetAdo( oRsClien, .T.,.T.)
WITH OBJECT oBrw
:lColDividerComplete := .t.
:nMarqueeStyle := 3
:nColDividerStyle := 1
:nHeaderLines := 2
:lFooter := .t.
:nStretchCol := 1
:bClrSelFocus := { || { CLR_BLACK, aSelGrad } }
:bClrRowFocus := { || { CLR_BLACK, aRowGrad } }
:bClrStd := {|| IIF(oRsClien:AbsolutePosition % 2 == 0,{ CLR_BLACK, RGB( 224, 236, 255 ) }, { CLR_BLACK, RGB( 189, 211, 253 ) } )}
:CreateFromCode()
:Adjust()
:l2007 := .t.
END
For nFor := 1 to len( oBrw:aCols )
oCol := oBrw:aCols[ nFor ]
oCol:nEditType := 0
If oCol:Value = nil
oCol:cEditPicture := Space(10)
EndIf
oCol:blDClickData := {|| CtrCliente(ID_MOD,oWChild,oBrw),oBrw:Refresh() }
next
* oBrw:aCols[13]:SetCheck ({"CHECKON","CHECKOFF"},.F.,{"Si","No",""} )
* oBrw:aCols[14]:SetCheck ({"CHECKON","CHECKOFF"},.F.,{"Si","No",""} )
oBrw:aCols[13]:SetCheck ( nil,.T.,{"Si","No",""} )
oBrw:aCols[14]:SetCheck ( nil,.T.,{"Si","No",""} )
@ 11,460 SAY oBrw:oSeek PROMPT oBrw:cSeek SIZE 200,12 PIXEL BORDER;
OF oWChild COLOR CLR_BLACK,CLR_YELLOW PICTURE '@!'
oWChild:oClient := oBrw
ACTIVATE WINDOW oWChild MAXIMIZED ;
ON INIT oBrw:SetFocus();
VALID( oBarMain:Enable(),oRsClien:Close(),oRsClien := "Nothing",.t. )
SysRefresh()
RELEASE FONT oFontCli
return( nil )