Page 1 of 1

XBrowser de 2 tablas al mismo tiempo, se puede ??

Posted: Fri Mar 06, 2020 10:27 pm
by Enrrique Vertiz
Estimados, saludos

Quisiera saber si existe la opcion de mostrar 2 xBrowser en simultaneo, son 2 tablas distintas que quiero mostrar una al lado de la otra, ideal si podria usando xBrowser.
Gracias

Re: XBrowser de 2 tablas al mismo tiempo, se puede ??

Posted: Fri Mar 06, 2020 10:53 pm
by leandro
Claro que se puede, los que quieras.

En este ejemplo tengo definidos tres.

Code: Select all

   SELE d_caja
   Dbgotop()

   oLamcla:oBrwCaja := TXBrowse():New( oCuadro )
   oLamcla:oBrwCaja:nMarqueeStyle         := MARQSTYLE_HIGHLROW
   oLamcla:oBrwCaja:nRowDividerStyle      := LINESTYLE_LIGHTGRAY
   oLamcla:oBrwCaja:nColDividerStyle      := LINESTYLE_LIGHTGRAY
   oLamcla:oBrwCaja:nHeaderLines          := 1
   oLamcla:oBrwCaja:nDataLines            := 1
   oLamcla:oBrwCaja:lFooter               := .t.
   oLamcla:oBrwCaja:nFooterLines          := 1
   oLamcla:oBrwCaja:nFooterHeight         := 24   
   oLamcla:oBrwCaja:lColDividerComplete   := .t.
   oLamcla:oBrwCaja:lRecordSelector       := .t.
   oLamcla:oBrwCaja:nStretchCol           := STRETCHCOL_LAST
   oLamcla:oBrwCaja:l2007                 := .f.
   oLamcla:oBrwCaja:oFont                 := oFont5
   oLamcla:oBrwCaja:bKeyDown              := {|nKey|TeclasCa(nKey,oLamcla:oBrwCaja)}

   oCol = oLamcla:oBrwCaja:AddCol()
   oCol:bStrData     = { || d_caja->Codig }
   oCol:cHeader      = "Artículo"
   oCol:nHeadStrAlign := AL_LEFT
   oCol:nDataStrAlign := AL_LEFT
   oCol:nWidth       = 70

   oCol:= oLamcla:oBrwCaja:AddCol()
   oCol:bStrData  := { || d_caja->Descr}
   oCol:cHeader   := "Descripción"
   oCol:cFooter      = "TOTALES ------>"
   oCol:nHeadStrAlign := AL_LEFT
   oCol:nDataStrAlign := AL_LEFT
   oCol:nWidth        := 155

   oCol:= oLamcla:oBrwCaja:AddCol()
   oCol:bStrData  := { || Transform(nitonu(d_caja->canti),oLamcla:PIC7)}
   oCol:cHeader   := "Cant."
   oCol:nHeadStrAlign := AL_RIGHT
   oCol:nDataStrAlign := AL_RIGHT
   oCol:nWidth        := 45
   oCol:bFooter       = {|| Transform(oLamcla:vCaCan,oLamcla:PIC2)}
   oCol:nFootStrAlign = 1
   oCol:cEditPicture  = oLamcla:PIC2

   oCol:= oLamcla:oBrwCaja:AddCol()
   oCol:bStrData  := { || Transform(nitonu(d_caja->PVpub),oLamcla:PIC7)}
   oCol:cHeader   := "PV Público"
   oCol:nHeadStrAlign := AL_RIGHT
   oCol:nDataStrAlign := AL_RIGHT
   oCol:nWidth        := 90
   oCol:bFooter       = {|| Transform(oLamcla:vCatot,oLamcla:PIC2)}
   oCol:nFootStrAlign = 1
   oCol:cEditPicture  = oLamcla:PIC2

   oCol := oLamcla:oBrwCaja:AddCol()
   oCol:AddResource("#8001")
   oCol:AddResource("#8033")
   oCol:bBmpData      := { || iif( d_caja->Signo="s", 1, 2) }
   oCol:cHeader   := "Sgn"
   oCol:nWidth        := 60

   oLamcla:oBrwCaja:SetRDD()
   oLamcla:oBrwCaja:CreateFromResource(102)

   oGTerc:bKeyDown:={ |nKey| if( nKey=VK_F2 ,oLamcla:busqueda(1,1), (if(nKey=VK_F8,(oLamcla:vGTerc:=pAgreTerCp(oLamcla:vGTerc),oGTerc:refresh()),nil)) ) }
   oLamcla:oArtic:bKeyDown:={ |nKey| if( nKey=VK_F2 ,oLamcla:busqueda(19), Nil ) }
   oGVend:bKeyDown:={ |nKey| if( nKey=VK_F2 ,oLamcla:busqueda(1,3), (IF(nKey=VK_DOWN,oLamcla:busqueda(1,3),Nil)) ) }

   ****************************************************
   SELE d_rapi
   Dbgotop()
   oBrwRa := TXBrowse():New( oCuadro )
   oBrwRa:nMarqueeStyle         := MARQSTYLE_HIGHLROW
   oBrwRa:nRowDividerStyle      := LINESTYLE_LIGHTGRAY
   oBrwRa:nColDividerStyle      := LINESTYLE_LIGHTGRAY
   oBrwRa:nHeaderLines          := 1
   oBrwRa:nDataLines            := 1
   oBrwRa:lColDividerComplete   := .t.
   oBrwRa:lRecordSelector       := .t.
   oBrwRa:nStretchCol           := STRETCHCOL_LAST
   oBrwRa:l2007                 := .f.
   oBrwRa:oFont                 := oFont5
   oBrwRa:blDblClick            := {|| pColArti()}
   oBrwRa:bKeyDown              := {|nKey|iif(nKey == 13,pColArti(),(if(nKey==VK_LEFT,pColArti(),(" "))))}

   oCol = oBrwRa:AddCol()
   oCol:bStrData     = { || d_rapi->Artic }
   oCol:cHeader      = "Artículo"
   oCol:nHeadStrAlign := AL_LEFT
   oCol:nDataStrAlign := AL_LEFT
   oCol:nWidth       = 92

   oCol:= oBrwRa:AddCol()
   oCol:bStrData  := { || d_rapi->Descr}
   oCol:cHeader   := "Descripción"
   oCol:nHeadStrAlign := AL_LEFT
   oCol:nDataStrAlign := AL_LEFT
   oCol:nWidth        := 202

   oBrwRa:SetRDD()
   oBrwRa:CreateFromResource(4030)

   ****************************************************

   SELE d_camb
   Dbgotop()
   oLamcla:oBrwCamb := TXBrowse():New( oCuadro )
   oLamcla:oBrwCamb:nMarqueeStyle         := MARQSTYLE_HIGHLROW
   oLamcla:oBrwCamb:nRowDividerStyle      := LINESTYLE_LIGHTGRAY
   oLamcla:oBrwCamb:nColDividerStyle      := LINESTYLE_LIGHTGRAY
   oLamcla:oBrwCamb:nHeaderLines          := 1
   oLamcla:oBrwCamb:nDataLines            := 1
   oLamcla:oBrwCamb:lColDividerComplete   := .t.
   oLamcla:oBrwCamb:lRecordSelector       := .t.
   oLamcla:oBrwCamb:nStretchCol           := STRETCHCOL_LAST
   oLamcla:oBrwCamb:l2007                 := .f.
   oLamcla:oBrwCamb:oFont                 := oFont5
   oLamcla:oBrwCamb:bKeyDown              := {|nKey|TeclasCa(nKey,oLamcla:oBrwCapt)}
   

   oCol = oLamcla:oBrwCamb:AddCol()
   oCol:bStrData     = { || d_camb->Artic }
   oCol:cHeader      = "Artículo"
   oCol:nHeadStrAlign := AL_LEFT
   oCol:nDataStrAlign := AL_LEFT
   oCol:nWidth       = 90

   oCol:= oLamcla:oBrwCamb:AddCol()
   oCol:bStrData  := { || d_camb->Descr}
   oCol:cHeader   := "Descripción"
   oCol:cFooter      = "TOTALES ------>"
   oCol:nHeadStrAlign := AL_LEFT
   oCol:nDataStrAlign := AL_LEFT
   oCol:nWidth        := 180

   oCol:= oLamcla:oBrwCamb:AddCol()
   oCol:bStrData  := { || Transform(nitonu(d_camb->Basei),oLamcla:PIC7)}
   oCol:cHeader   := "PV Público"
   oCol:nHeadStrAlign := AL_RIGHT
   oCol:nDataStrAlign := AL_RIGHT
   oCol:nWidth        := 90
   oCol:bFooter       = {|| Transform(vCambio,oLamcla:PIC2)}
   oCol:nFootStrAlign = 1
   oCol:cEditPicture  = oLamcla:PIC2

   oLamcla:oBrwCamb:SetRDD()
   oLamcla:oBrwCamb:CreateFromResource(4025)
 

Re: XBrowser de 2 tablas al mismo tiempo, se puede ??

Posted: Fri Mar 06, 2020 11:22 pm
by FranciscoA
Lee todo este post. Contiene varias opciones.
https://forums.fivetechsupport.com/view ... =2+browses

Re: XBrowser de 2 tablas al mismo tiempo, se puede ??

Posted: Fri Mar 06, 2020 11:37 pm
by Enrrique Vertiz
Estimados, gracias por sus respuestas, me queda claro que con TxBrowse nativo se puede, lo que Yo queria usar es esta sentencia compacta XBROWSER :

XBROWSER aSal TITLE "Seleccione Liquidacion" SETUP ( oBrw:cHeaders := { "Cuenta", "Auxiliar", "Td", "NumDoc", "Liquidac.", "Saldo MN", "Saldo ME" }, oBrw:oWnd:bInit := { |oDlg| oDlg:aControls[ 1 ]:Hide() } )SELECT nLinAct := oBrw:KeyNo

Ahi muestro el Browse de una tabla, preguntaba si con ese mismo tipo de sentencia resumen o compacta, en una o dos lineas mas podia mostrar el segun Browse, tal como los ejemplos que envian, pero con esta forma compacta de hacerlo.

Re: XBrowser de 2 tablas al mismo tiempo, se puede ??

Posted: Sat Mar 07, 2020 3:48 am
by nageswaragunupudi
I am not sure if I understood the requirement correctly. Is this what you are looking for?

Image

Code: Select all

   USE CUSTOMER NEW SHARED VIA "DBFCDX"
   USE STATES NEW SHARED VIA "DBFCDX"

   XBROWSER "CUSTOMER" SETUP ( ;
      oBrw:bRClicked := ;
      { |r,c,f,o,a| o:ResetData( a := StrTran( "STATESCUSTOMER", o:cAlias, "" ), ;
                  o:oWnd:SetText( a ) ) } ;
      )
 

Re: XBrowser de 2 tablas al mismo tiempo, se puede ??

Posted: Sat Mar 07, 2020 2:16 pm
by Enrrique Vertiz
Mr. Rao, Thank you very much

This is what I need, that both appear at the same time, the example is Ok but the idea is both at the same time

Image

If the example had a field to check, it would be ideal, thank you very much

Re: XBrowser de 2 tablas al mismo tiempo, se puede ??

Posted: Tue Mar 10, 2020 2:08 pm
by jnavas
Saludos

He logrado implementar dos Browse en un formulario MDI, autoajustable por parte del usuario.

@ 0,0 SPLITTER oBrDocCli:oHSplit ;
HORIZONTAL;
PREVIOUS CONTROLS oBrDocCli:oBrw ;
HINDS CONTROLS oBrDocCli:oBrw2;
TOP MARGIN 40 ;
BOTTOM MARGIN 40 ;
SIZE 300, 4 PIXEL ;
OF oBrDocCli:oWnd ;
_3DLOOK

oBrDocCli:oWnd:oClient := oBrDocCli:oHSplit