FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xBrowse c/ADS Problema con Filtro (SOLUCIONADO)
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
xBrowse c/ADS Problema con Filtro (SOLUCIONADO)
Posted: Fri May 01, 2015 01:47 PM
Estimados: FELIZ DIA DEL TRABAJADOR!

Se me plantea un problema de estabilidad en un xBrowse filtrando datos de una DBF ADS
Este sería la vista correcta:

Luego, esto ocurrre al mover el puntero con el mouse, o las flechas al llegar al ultimo registro (luego no sube, solo se mueve sobre este ultimo mostrando los distintos registros). En esta vista esta mostrando el de la tercer fila


Este es el código
Code (fw): Select all Collapse
   shSelect := {=>}
   shSelBank:= {=>}
   // DetaCheq23 [DB23] - Bancos [DB21]
   (h0["DetaCheq23"]:nArea)->( dbSetRelat( h0["Bancos"]:nArea, {|| (h0["DetaCheq23"]:nArea)->FBANK01 }, '(h0["DetaCheq23"]:nArea)->FBANK01' ) )
   h0["DetaCheq23"]:SetOrder( "FE_VENCE" )
  (h0["DetaCheq23"]:nArea)->( AdsSetAOF( "!FDETCHQ07" ) )
   h0["DetaCheq23"]:GoTop()

   DEFINE DIALOG oDlg RESOURCE "brw_VerCheques" TITLE "Cheques en cartera" ;
          FONT ::hFont["Tahoma14"]
   oDlg:lHelpIcon:= FALSE

   REDEFINE XBROWSE oLstChq ID BRW_XBRW OF oDlg ;
            COLUMNS "FDETCHQ02", "FDETCHQ04", "FDETCHQ05", nil     ;
            HEADERS "DocNro",    "FeVencim",  "Monto",     "Check" ;
            ALIAS   h0["DetaCheq23"]:cAlias

    WITH OBJECT oLstChq
      :nMarqueeStyle:= MARQSTYLE_HIGHLROW     // linea señaladora
      :nStretchCol  := STRETCHCOL_LAST
      :lFooter      := TRUE

      :SetColor( CLR_BLACK, CLR_ROWLIMA )                    // Colorea todo el browse
      :bClrStd     := {|| { CLR_BLACK, CLR_ROWLIMA } }       // Filas sin foco
      :bClrSelFocus:= {|| { CLR_NARANJA, CLR_CELDALIMA } }   // Celda con foco
      :bClrSel     := {|| { CLR_GRAY, CLR_ROWLIMA } }        // Fila siN foco
      :bChange     := {|| nPosActual := oLstChq:BookMark, oLstChq:Refresh() }

      // Seleccion
      :bLDblClick:= {|| Eval( oLstChq:bKeyDown, VK_SPACE) }
      :bKeyDown  := {|nK| if( nK==VK_INSERT .or. nK==VK_SPACE, ;    // Aca realizo un proceso de seleccion mediante Hash
                                      ... }
      :bGotFocus   := {|| h0["DetaCheq23"]:SetFocus(), h0["DetaCheq23"]:Refresh() }
   END

   WITH OBJECT oLstChq:DocNro
      :nWidth:= 85
   END
   WITH OBJECT oLstChq:FeVencim
      :nWidth:= 90
   END
   WITH OBJECT oLstChq:Monto
      :nWidth:= 105
      :nFooterType := AGGR_TOTAL
      :bClrFooter  := {|| {CLR_GREEN, CLR_BLACK} }
      :oFooterFont := ::hFont["Tahoma14B"]

      :bFooter:= {|| Trans( oLstChq:Monto:nTotal-nTotSelec, PIC_DIEZCIF2 ) }
   END
   WITH OBJECT oLstChq:Check
      :nHeadStrAlign:= AL_CENTER
      :nFootStrAlign:= AL_RIGHT
      :bClrFooter   := {|| {CLR_HRED, CLR_BLACK} }
      :oFooterFont  := ::hFont["Tahoma14B"]

      :bEditValue := {|x| x:= HHasKey( shSelect, h0["DetaCheq23"]:RecNo() ) }
      :SetCheck( { "bmp_Ok2", "" }, TRUE )

      :bFooter:= {|| Trans( nTotSelec, PIC_DIEZCIF1 ) }
   END

No encuentro la forma de resolverlo (salvo pasarlo a array)
Utilizo FWH 12.04

gracias
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: xBrowse c/ADS Problema con Filtro
Posted: Fri May 01, 2015 02:18 PM

Mario: muchas gracias e igualmente para ti.

Creo que lo de la estabilidad del xBrowse se debe a ADS, a mi me pasó lo mismo
hace tiempo y lo solucione con estas 2 lineas en el xBrowse. Me lo dijeron aqui en el foro.

oLstChq:bKeyCount := {|| h0["DetaCheq23"]:cAlias->( AdsKeyCount( , , ADS_RESPECTFILTERS ) ) }
oLstChq:bKeyNo := {| n | IIf( HB_IsNil( n ), h0["DetaCheq23"]:cAlias->( AdsKeyNo( , , ADS_RESPECTFILTERS ) ), h0["DetaCheq23"]:cAlias->( OrdKeyGoto( n ) ) ) }

Saludos.

Ruben Dario Fernandez

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: xBrowse c/ADS Problema con Filtro
Posted: Sun May 03, 2015 08:32 PM

Espectacular! Ruben; solucionado!!

gracias

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina

Continue the discussion