Tengo el siguiente código:
xBrowse:
- Code: Select all Expand view RUN
- *------------------------------------------------------------------------------------------
Function Browse_Cliente()
Local oDbf[100],oDlg,oWndChild,archivo:='',oBrushes,oQry,aSizes:={250,550,550},;
cCuenta:=0,iOma:=0,iOma2:=0,oBrw,oBrwAnexo,MDIWindow:=.F.,o110,oImg,oBar,oPopUp,oPopUp0,oPopUp1,oBtn[3]
Public aGiros:={},aBancos:={},aVendedor:={},aDcto:={"%","$"}
oQry = oConected:Query( "SELECT Sucursal_Banco,Nombre_Sucursal,Direccion FROM Equivalencia ORDER BY Nombre_Sucursal" )
Define brush oBrushes File "FondoBlanco.PNG" Transparent Adjust
DEFINE DIALOG oDlg RESOURCE "Browse_Prod_T" Font oFont TRANSPARENT Color CLR_BTNFACE ,CLR_BTNFACE
Redefine IMAGE oImage Id 4001 File "ClientTittle.Png" OF oDlg Transparent //Adjust //
REDEFINE XBROWSE oBrw ID 110 OF oDlg ;
LINES CELL Font oFont Update
oBrw:nColDividerStyle := LINESTYLE_DARKGRAY
oBrw:nRowDividerStyle := LINESTYLE_DARKGRAY
oBrw:lColDividerComplete := .T.
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw:bClrSelFocus := {|| {CLR_BLACK, CLR_GREEN }}
oBrw:bClrStd := {|| {CLR_NBLUE, CLR_NBLUE }}
oBrw:bClrSel := {|| {CLR_NBLUE, CLR_NBLUE }}
oBrw:lHScroll:=.F.
oBrw:l3D:=.T.
oBrw:l3DLook:=.T.
oBrw:nHeaderLines := 2
oBrw:nDataLines := 1
SetDolphin( oBrw, oQry,.T.,aSizes )
oBrw:SetBackGround( "Browses.Png",BCK_STRETCH )
oBrw:aCols[1]:nWidth:=120
oBrw:aCols[1]:cHeader := "Código de"+CRLF+"Cliente"
oBrw:aCols[1]:nHeadStrAlign := AL_CENTER
oBrw:aCols[1]:nDataStrAlign := AL_RIGHT
oBrw:aCols[1]:oHeaderFont := oFont
oBrw:aCols[2]:cHeader := "Descripción"
oBrw:aCols[2]:nWidth:=450
oBrw:aCols[2]:nHeadStrAlign := AL_CENTER
oBrw:aCols[2]:nDataStrAlign := AL_LEFT
oBrw:aCols[2]:oHeaderFont := oFont
oBrw:aCols[3]:cHeader := "Dirección"
oBrw:aCols[3]:nWidth:=450
oBrw:aCols[3]:nHeadStrAlign := AL_CENTER
oBrw:aCols[3]:nDataStrAlign := AL_LEFT
oBrw:aCols[3]:oHeaderFont := oFont
*oBrw:bLDblClick := { || (Consulta_OF(::oQry:Folio_OrdenFL)) }
/*oBrw:bKeyDown:={|nKey| IIF( nKey==VK_RETURN,(Client32(.F.,oDbf,oWnd,oDlg,oBrw,Quita),oDlg:Update(), oBrw:SetFocus(),oBrw:Refresh(),oBrw:SetFocus()) , ),;
IIF( nKey==VK_F1,(Client32(.T.,oDbf,oWnd,oDlg,oBrw,Quita),oDlg:Update(), oBrw:SetFocus(),oBrw:Refresh(),oBrw:SetFocus()) , ),;
IIF( nKey==VK_F2,(Client32(.F.,oDbf,oWnd,oDlg,oBrw,Quita),oDlg:Update(), oBrw:SetFocus(),oBrw:Refresh(),oBrw:SetFocus()) , ),;
IIF( nKey==VK_DELETE .AND. MsgSiNo("Desea Eliminar El Registro "+Alltrim((oDbf[1]:cAlias)->MST_Apelli),"Por Favor Seleccione..."),;
(oDbf[1]:Delete(), oBrw:Refresh()), ),;
IIF( nKey==VK_F4,(oBrw:ToExcel(),oBrw:Refresh()) , )}*/
ACTIVATE DIALOG oDlg Centered On Init (BtnBar( oDlg,oBrw,oQry ))
Return Nil
*-------------------------------------------------------------------------------------------------------
Static Function BtnBar( oParent,oBrw,oQry )
Local oBar,oPopUp0,PopUp1,Paramet
DEFINE Buttonbar oBar Of oParent size 160,65 2007 Top Transparent
Define Button Of oBar File "AddClient.Bmp" Adjust Action (Add_Modify_Client(oParent,.T.," ",oBrw))
Define Button Of oBar File "EditUser.Bmp" Adjust Group Action (Add_Modify_Client(oParent,.F.,oBrw:aCols[1]:Value,oBrw))
Define Button Of oBar File "RemoveClient.BMP" Adjust Group Action If(MsgYesNo("Sr. Usuario, ¿Desea eliminar el Cliente "+Alltrim(oQry:Nombre_Sucursal)+"?","Advertencia..."), (oQry:Delete(.F.),oBrw:Refresh()),)
MENU oPopup0 POPUP _2007
MENUITEM "Código de Cliente" Action (Busca_CodCli(oBrw,oParent,oQry),oQry:Refresh(),oBrw:Refresh(),oBrw:SetFocus() )
Separator
MENUITEM "Descripción" ACTION (Busca_DesCli(oBrw,oParent,oQry),oBrw:Refresh(),oBrw:SetFocus())
Separator
MENUITEM "Dirección" ACTION (Busca_DirCli(oBrw,oParent,oQry),oBrw:Refresh(),oBrw:SetFocus() )
ENDMENU
Define Button Of oBar File "Buscar_Por.BMP" MENU oPopup0 TOOLTIP "Buscar Por..." Adjust Group
MENU oPopup1 POPUP _2007
MENUITEM "Código de Cliente" ACTION (Filtra_Cod(oQry,oBrw),oQry:Refresh(),oBrw:Refresh(),oBrw:SetFocus() )
Separator
MENUITEM "Descripción" ACTION (Filtra_Des(oQry,oBrw),oQry:Refresh(),oBrw:Refresh(),oBrw:SetFocus() )
Separator
MENUITEM "Dirección" ACTION (Filtra_Dir(oQry,oBrw),oQry:Refresh(),oBrw:Refresh(),oBrw:SetFocus() )
ENDMENU
Define Button Of oBar File "Filtrar_por.BMP" MENU oPopup1 TOOLTIP "Filtrar Por..." Adjust Group
Define Button Of oBar File "Volver.BMP" action ( oParent:end() ) Adjust Group
oBar:nTop:=55
oBar:nLeft:=8
Return Nil
*-------------------------------------------------------------------------------------------------------
Éste es el Código de las funciones que deben filtrar:
- Code: Select all Expand view RUN
- *-------------------------------------------------------------------------------------------------------
Function Filtra_Cod(oBrw,oParent,oQry)
Local oDlg,o4001,Buscado:=Space(5)
DEFINE DIALOG oDlg RESOURCE "Busca_Numeros" Font oFont TRANSPARENT Color CLR_BTNFACE ,CLR_BTNFACE
Redefine Get o4001 Var Buscado Id 4002 Of oDlg Picture "@#####" Valid (Filtra(oBrw,oParent,oQry,Buscado,0),oBrw:Refresh(),.T.,oDlg:End())
ACTIVATE DIALOG oDlg Centered
Return Nil
*-------------------------------------------------------------------------------------------------------
Function Filtra_Des(oBrw,oParent,oQry)
Local oDlg,o4001,Buscado:=Space(40)
DEFINE DIALOG oDlg RESOURCE "Busqueda" Font oFont TRANSPARENT Color CLR_BTNFACE ,CLR_BTNFACE
Redefine Get o4001 Var Buscado Id 4002 Of oDlg Picture "@!" Valid (Filtra(oBrw,oParent,oQry,Buscado,1),oBrw:Refresh(),.T.,oDlg:End())
ACTIVATE DIALOG oDlg Centered
Return Nil
*-------------------------------------------------------------------------------------------------------
Function Filtra_Dir(oBrw,oParent,oQry)
Local oDlg,o4001,Buscado:=Space(40)
DEFINE DIALOG oDlg RESOURCE "Busqueda" Font oFont TRANSPARENT Color CLR_BTNFACE ,CLR_BTNFACE
Redefine Get o4001 Var Buscado Id 4002 Of oDlg Picture "@!" Valid (Filtra(oBrw,oParent,oQry,Buscado,2),oBrw:Refresh(),oBrw:SetFocus(),.T.,oDlg:End())
ACTIVATE DIALOG oDlg Centered
Return Nil
*-------------------------------------------------------------------------------------------------------
Function Filtra(oBrw,oParent,oQry,Buscado,Code)
Local Qrys
IF Code=0
oQry = oConected:Query( "SELECT Sucursal_Banco,Nombre_Sucursal,Direccion FROM Equivalencia WHERE Sucursal_Banco LIKE '%"+Buscado+"%' ORDER BY Nombre_Sucursal" )
oQry:LoadQuery()
oQry:Refresh()
oBrw:Destroy()
SetDolphin( oBrw, oQry,.T. )
oBrw:Refresh()
ElseIf Code=1
oQry = oConected:Query( "SELECT Sucursal_Banco,Nombre_Sucursal,Direccion FROM Equivalencia WHERE Nombre_Sucursal LIKE '%"+Alltrim(Buscado)+"%' ORDER BY Nombre_Sucursal" )
oQry:Refresh()
oBrw:Refresh()
ElseIf Code=2
oQry = oConected:Query( "SELECT Sucursal_Banco,Nombre_Sucursal,Direccion FROM Equivalencia WHERE DIRECCION LIKE '%"+Alltrim(Buscado)+"%' ORDER BY Nombre_Sucursal" )
oQry:Refresh()
oBrw:Refresh()
ENDIF
Return Nil
*-------------------------------------------------------------------------------------------------------
Mis preguntas son las siguientes:
¿Debo reemplazar el qry?
Si es así, ¿como refresco los datos del xBrowse?
¿Qué estoy haciendo mal?
Agradeceré toda la ayuda que me puedan brindar.