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
ahora cuando avanzo por oBrwB si
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
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 RUN
....
....
....
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