FUNCTION Open_Table(oBrw)
LOCAL oIcon, nClrB, oWChld, oLbx, oCbx
LOCAL oDbf, cDbf, aIdx, cFile, oDBas
LOCAL oPop, cVar, oB[6], cAlias , nTab
CursorWait()
nClrB:=LightColor(215,nClrM)
aIdx:={"<sin índice>"}
cVar:= "<sin índice>"
lFil:=.F.
cDbf:=Alltrim(oBrw:aArrayData[oBrw:nArrayAt,1])
cAlias:=Open_Dbf(cDbf,lData)
DATABASE oDbf
oDbf:GoTop()
nReg:=oDbf:LastRec()
DEFINE ICON oIcon RESOURCE "IconSys"
DEFINE WINDOW oWChld MDIChild TITLE cTitl OF oWnd ICON oIcon
DEFINE BUTTONBAR oBar 3DLOOK BUTTONSIZE 26,26 2007 OF oWChld
DEFINE BUTTON oB[1] OF oBar RESOURCE "B_Bus","","B_DBs" TOOLTIP "Buscar (Ctrl+B)" ;
ACTION Buscar(oCbx,oLbx,oDbf) NOBORDER
DEFINE BUTTON oB[2] OF oBar RESOURCE "B_Loc" TOOLTIP "Localizar (Ctrl+L)" ;
ACTION Localizar(oLbx,oDbf) NOBORDER
DEFINE BUTTON oB[3] OF oBar RESOURCE "B_Prt" TOOLTIP "Reportes (Ctrl+R)" GROUP ;
ACTION New_Report(oLbx) NOBORDER
DEFINE BUTTON oB[4] OF oBar RESOURCE "B_Xls" TOOLTIP "Enviar a Excel" GROUP ;
ACTION To_Excel(oLbx) NOBORDER
DEFINE BUTTON oB[5] OF oBar RESOURCE "B_Ver","","B_DVr" TOOLTIP "Ver/Ocultar registros borrados";
ACTION Desp_Del(oLbx) NOBORDER
DEFINE BUTTON oB[6] OF oBar RESOURCE "B_Fil" TOOLTIP "Filtrar por... (Ctrl+F)";
ACTION Filtrar(oLbx,oDbf,oB) NOBORDER
MENU oPop POPUP
MENUITEM "en &Mosaico" ACTION oWnd:Tile() ;
WHEN Len(oWnd:oWndClient:aWnd)>0
MENUITEM "en &Horizontal" ACTION oWnd:Tile(.T.) ;
WHEN Len(oWnd:oWndClient:aWnd)>0
MENUITEM "en &Cascada" ACTION oWnd:Cascade() ;
WHEN Len(oWnd:oWndClient:aWnd)>0
ENDMENU
DEFINE BUTTON OF oBar RESOURCE "B_Ven" TOOLTIP "Organizar ventanas" GROUP ;
ACTION oWnd:Tile() NOBORDER MENU oPop
oBar:bRClicked:={|| Que_Pasa("¿Que intentas?...")}
@ 0.25,31 COMBOBOX oCbx VAR cVar ITEMS aIdx OF oBar SIZE 150,300 ;
ON CHANGE Sel_Index(oCbx,oDbf,oLbx,oB) FONT oWChld:oFont
oCbx:cTooltip:="Clasificar..."
oBar:bPainted:={|hDC| oBar:Say( 7,400,Tran(nReg,"9999,999")+" Reg(s)",nClrM,,oWnd:oFont,.T.,.T.)}
oLbx:=TXBrowse():New(oWChld)
oLbx:nMarqueeStyle :=3
oLbx:nColDividerStyle:=4
oLbx:SetRDD()
IF DbSetDriver()="DBFCDX"
oLbx:bClrStd:={|| {IF(Deleted(),CLR_HRED,CLR_BLACK),IF((oLbx:cAlias)->(OrdKeyNo())%2==0,nClrB,CLR_LGRAY)}}
ELSE
oLbx:bClrStd:={|| {IF(Deleted(),CLR_HRED,CLR_BLACK),CLR_WHITE}}
ENDIF
oLbx:bRClicked :={|nRow,nCol| Pop_Menu(nRow,nCol,oWChld,oCbx,oLbx,oDbf,oB)}
oLbx:bKeyDown :={|nKey| Val_nKey(nKey,oLbx,oDbf,oCbx,oB)}
oLbx:CreateFromCode()
oWChld:SetControl(oLbx)
oWChld:GoTop()
ACTIVATE WINDOW oWChld VALID Close_Table(oLbx,oDbf,cDbf,cAlias)
RETURN (NIL)
STAT FUNC Close_Table(oLbx,oDbf,cDbf,cAlias)
oLbx:End()
oDbf:Close()
Close_Dbf(cDbf,cAlias)
Set(_SET_DELETED,lSetDel)
RETURN (.T.)