Relacionar búsqueda ente dos xBrowse II (SOLUCIONADO)

Relacionar búsqueda ente dos xBrowse II (SOLUCIONADO)

Postby El Loco » Tue Mar 29, 2022 8:11 pm

Buenas .....
Me quedan dos temas para solucionar con el xBrowse
1ro. Cuando salen los dos xBrowse, en el oBrwC no muestra los datos, y cuando empiezo a moverme por oBrwB ahí si los refresca
Image
ahora cuando avanzo por oBrwB si
Image

2do. Cuando los datos filtrados para el oBrwB superan la cantidad visibles del xBrowse se pierde la linea de selección, si bien refresca al oBrwc no muestra la fila seleccionada del oBrwB
Image

He buscado en el foro y la propia clase del xBrowse y no encuentro como solucionarlo.
Adjunto parte del código
Code: Select all  Expand view

....
....
....
 Do Case
    Case oBrw:nRowSel == 1
         CG_000->(OrdSetFocus("NCuil"))
 
    Case oBrw:nRowSel == 2
         CG_000->(OrdSetFocus("ApeNom"))  
 
    Case oBrw:nRowSel == 3
         CG_000->(OrdSetFocus("NDoc"))  
     
 EndCase
     
 If !CG_000->(DbSeek(AllTrim(cGet)))
    MsgInfo( aMsg[oBrw:nRowSel] +AllTrim(cGet)+" NO ENCONTRADO")
    cGet:=Space(40)
    oGet:SetFocus()
    Return Nil
   
  Else  
 
    CG_000->(OrdScope( 0 , AllTrim(cGet) ))  
    CG_000->(OrdScope( 1 , AllTrim(cGet) ))  
    CG_000->(DbGoTop())
 
 Endif

 @ 60,8 xBrowse oBrwB Size 800, 900 Of oWnd ;
          COLUMNS aFlds HEADERS "Nro. CUIL", "Apellido y Nombre", "Nro. Documento" ;
          Alias "CG_000" AUTOSORT AUTOCOLS ;
          Cell Pixel Font oFont7 NoBorder

 @ 60,814 xBrowse oBrwC Size 800, 900 Of oWnd ;
          Cell Pixel Font oFont7 NoBorder COLSIZES 100, 150
         
 With Object oBrwB
  :lRecordSelector:= .T.
  :lHeader   := .T.
  :lHScroll  := .F.
  If(  CG_000->(OrdKeyCount()) > 26 , :lVScroll:= .T. , :lVScroll:= .F.)
  :lFlatStyle:= .T.
  :lAllowRowSizing:= .F.       // Impide cambiar el alto del renglon
  :nRowDividerStyle:= 1
  :nColDividerStyle:= 1
  :HasBorder(.F.)
  :lIncrFilter   := .F.
  :lSeekWild     := .F.
  :nStretchCol   := STRETCHCOL_WIDEST
  :CreateFromCode()
  :SetFocus()
  :bChange:= {|| ( Actualiza( oBrwB, oBrwC, @aCampos ) , oBrwC:Refresh()) }
  :bOnChanges:= { || oBrwC:Refresh() }
  :nMarqueeStyle := MARQSTYLE_HIGHLROW
 End

 With Object oBrwC
  :SetArray( aCampos)
  :lRecordSelector = .F.
  :lHeader   := .F.
  :lHScroll  := .F.
  :lVScroll  := .F.
  :lFlatStyle:= .T.
  :lAllowRowSizing:= .F.       // Impide cambiar el alto del renglon
  :nRowDividerStyle:= 1
  :nColDividerStyle:= 1
  :HasBorder(.T.)
  :lIncrFilter   := .F.
  :lSeekWild     := .F.
  :nStretchCol   := 2
  :CreateFromCode()
  :aCols[ 1 ]:bClrStd := {|| { Rgb( 251, 239, 210 ) , RGB( 60, 60, 60 ) } }
  :nFreeze:= 1
  :nMarqueeStyle:= 0
 
 End

 oWnd:bKeyDown := { |nKey| IIf( nKey = VK_ESCAPE, ( oBrwB:Hide(),oBrwB:End(),  ;
                                                    oBrwC:Hide(),oBrwC:End(),  ;
                                                    cGet:= Space(40), ;
                                                    oWnd:nWidth:= 400, ;
                                                    oWnd:Refresh(), ;
                                                    oBrw:SetFocus(), ;
                                                    oBrw:Show(), ;
                                                    oBrw:Refresh(), ;  // DbCloseAll(), ;
                                                    oPanel:End() ), )}

Return Nil

 
Last edited by El Loco on Thu Mar 31, 2022 11:06 pm, edited 2 times in total.
FWH 32/64 14.04
Harbour 3.2.0 (r1306211258)
PellesC
El Loco
 
Posts: 328
Joined: Fri May 19, 2006 4:08 pm
Location: Buenos Aires - Argentina

Re: Relacionar búsqueda ente dos xBrowse II

Postby FranciscoA » Wed Mar 30, 2022 1:47 am

Para el primer caso:
En el ON INIT de la ventana contenedora del oBrwB intentá lo siguiente:
Code: Select all  Expand view
ACTIVATE DIALOG oDlg  ;
   ON INIT Eval(oBrwB:bChange)
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2110
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Relacionar búsqueda ente dos xBrowse II

Postby cmsoft » Wed Mar 30, 2022 1:59 am

1) Al init de la ventana o dialogo que contiene el browse, llama a la funcion que actualiza el oBrwC
ACTIVATE DIALOG ON INIT (Actualiza( oBrwB, oBrwC, @aCampos ) , oBrwC:Refresh())
2) Cambia el alto del xBrowse según el alto de su ventana contenedora
Code: Select all  Expand view

acor := GetDialogBaseUnits()
oBrwB:nBottom := oDlg:nHeight/ acor[2] - 15
oBrwC:nBottom := oDlg:nHeight/ acor[2] - 15

Espero te sirva

Editado
Francisco ya se me había adelantado! :D
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Relacionar búsqueda ente dos xBrowse II

Postby El Loco » Wed Mar 30, 2022 4:16 am

Gracias Francisco y Cesar
Lo del alto de xbrowse ya me había dado cuenta pero después de tanto modificar, sacar y agregar uno no termina de ver lo obvio :(
Ahora sobre el primer punto eso ya lo había intentado y no resulto.
Resulta que es una sola ventana que se redimenciona según lo seleccionado e incorpora los demás controles y en el init de la ventana los xbrowse no existen.
Pero igual me dieron una idea haber como resulta.
Gracias y muchísimas gracias.
Abrazo
FWH 32/64 14.04
Harbour 3.2.0 (r1306211258)
PellesC
El Loco
 
Posts: 328
Joined: Fri May 19, 2006 4:08 pm
Location: Buenos Aires - Argentina

Re: Relacionar búsqueda ente dos xBrowse II (SOLUCIONADO)

Postby El Loco » Thu Mar 31, 2022 11:08 pm

Por fin lo logré... tomando como consejo de Cesar y Francisco le agregue un dialogo incrustado a la ventana principal y desde el Init del dialogo se actualiza el segundo browse de primera.
Muchas gracias.
Abrazo
FWH 32/64 14.04
Harbour 3.2.0 (r1306211258)
PellesC
El Loco
 
Posts: 328
Joined: Fri May 19, 2006 4:08 pm
Location: Buenos Aires - Argentina

Re: Relacionar búsqueda ente dos xBrowse II (SOLUCIONADO)

Postby El Loco » Mon Apr 04, 2022 5:48 am

Hola gente...
Que de otra forma puedo refrescar un xBrowse cuando se despliega por primera vez que no sea desde el init del dialogo?
Gracias
Abrazo
FWH 32/64 14.04
Harbour 3.2.0 (r1306211258)
PellesC
El Loco
 
Posts: 328
Joined: Fri May 19, 2006 4:08 pm
Location: Buenos Aires - Argentina

Re: Relacionar búsqueda ente dos xBrowse II (SOLUCIONADO)

Postby El Loco » Mon Apr 04, 2022 12:38 pm

El Loco wrote:Hola gente...
Que de otra forma puedo refrescar un xBrowse cuando se despliega por primera vez que no sea desde el init del dialogo?
Gracias
Abrazo

Buenos días gente.
Solucionado desde el init del primer xBrowse
Gracias.
Abrazo
FWH 32/64 14.04
Harbour 3.2.0 (r1306211258)
PellesC
El Loco
 
Posts: 328
Joined: Fri May 19, 2006 4:08 pm
Location: Buenos Aires - Argentina


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 66 guests