Relacionar búsqueda ente dos xBrowse II (SOLUCIONADO)

Post Reply
El Loco
Posts: 328
Joined: Fri May 19, 2006 4:08 pm
Location: Buenos Aires - Argentina

Relacionar búsqueda ente dos xBrowse II (SOLUCIONADO)

Post by El Loco »

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


....
....
....
 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
User avatar
FranciscoA
Posts: 2164
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Relacionar búsqueda ente dos xBrowse II

Post by FranciscoA »

Para el primer caso:
En el ON INIT de la ventana contenedora del oBrwB intentá lo siguiente:

Code: Select all | Expand

ACTIVATE DIALOG oDlg  ;
   ON INIT Eval(oBrwB:bChange)
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: Relacionar búsqueda ente dos xBrowse II

Post by cmsoft »

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


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
El Loco
Posts: 328
Joined: Fri May 19, 2006 4:08 pm
Location: Buenos Aires - Argentina

Re: Relacionar búsqueda ente dos xBrowse II

Post by El Loco »

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)

Post by El Loco »

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)

Post by El Loco »

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)

Post by El Loco »

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
Post Reply