xbrowse y refresh()

xbrowse y refresh()

Postby goosfancito » Wed Jul 20, 2016 3:13 pm

Hola.

ya verifique que los datos que trae son correctos.

tengo problemas para refrescar el xbrowse,
lo lleno con datos (todos) luego presiono un boton
que solo me "deberia" de mostrar alquellos que un campo "borrado" sea .f.
los datos que me trae la consulta del tdolphin son correctos.

pero hago un obrw:refresh() y en la pantalla no se ven los cambios, me sigue mostrando
todos los datos.

que puede estar pasando?

gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: xbrowse y refresh()

Postby goosfancito » Fri Jul 22, 2016 10:15 am

nadie?
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: xbrowse y refresh()

Postby acuellar » Fri Jul 22, 2016 12:12 pm

Goosfancito

Ponga parte de su código para poder ayudarlo.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1630
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: xbrowse y refresh()

Postby goosfancito » Fri Jul 22, 2016 1:02 pm

Aqui va:

Code: Select all  Expand view
METHOD browser()
   LOCAL oDlg, ;
   oBrw, ;
   oFont, ;
   oFont1, ;
   oGet, ;
   vGet, ;
   this := Self

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0, - 12
   DEFINE FONT oFont1 NAME "TAHOMA" SIZE 0, - 12 bold

   vGet := .F.

   ::cargaQuery( vGet )

   DEFINE DIALOG oDlg resource "BRWAGENTE" TITLE ".:Nomina de moviles:."

   REDEFINE checkbox oGet VAR vGet ID 110 OF oDlg

   oBrw := TXBROWSE():new( oDlg )

   oBrw:setdolphin( ::oQry, .T., .T., { "id", "patente", "obs" } )

   WITH OBJECT oBrw
      :bClrStd             := { || IF( oBrw:KeyNo() % 2 == 0, ;
                                       { CLR_BLACK, RGB( 255, 255, 217 ) }, ;
                                       { CLR_BLACK, RGB( 204, 255, 168 ) } ) }

      :bClrSel        := { || { 0, nRGB( 155, 201, 210 )  } }

      :nMarqueeStyle       := MARQSTYLE_HIGHLROW
      :nRowHeight          := 22
      :lRecordSelector     := .F.

      :lColDividerComplete := .F.
      :nRowDividerStyle    := 4
      :nStretchCol         := STRETCHCOL_LAST
      :nColDividerStyle    := 4
      :nHeaderHeight       := 24

      WITH OBJECT :aCols[ 2 ]
         :oheaderfont   := oFont1
         :odatafont     := oFont
         :cHeader       := "Patente"
         :nHeadStrAlign := AL_CENTER
         :nWidth        := 100
         :nDataStrAlign := AL_LEFT
      END WITH

      WITH OBJECT :aCols[ 3 ]
         :oheaderfont   := oFont1
         :odatafont     := oFont
         :cHeader       := "Observaciones"
         :nHeadStrAlign := AL_CENTER
         :nWidth        := 100
         :nDataStrAlign := AL_LEFT
      END WITH

   END WITH

   oBrw:aCols[ 1 ]:hide()
   oBrw:aCols[ 2 ]:SETorder()

   oBrw:bKeychar := { | nkey | IF( nKey == VK_ESCAPE, ( ::aRespuesta := NIL, oDlg:END() ), nKey ) }
   oBrw:bKeyDown := { | nkey | IIf( ::ctrl( nKey, oBrw ), oDlg:END(), ) }
   oBrw:blDBlClick := { | nkey | IIf( ::ctrl( VK_RETURN, oBrw ), oDlg:END(), )  }

   AEval( oBrw:aCols, { | o | o:bRClickHeader := { || NIL } } )

   oBrw:CreateFromResource( 100 )
   oDlg:oclient := oBrw

   //----------( )----------

   oGet:bchange := { || ::cargaQuery( vGet ),  oBrw:refresh() }

   ACTIVATE DIALOG oDlg CENTERED

   RETURN ( NIL )


y lo que no me funciona es este codigo

Code: Select all  Expand view
METHOD cargaQuery( vGet )

   DEFINE QUERY ::oQry "SELECT * FROM tbmovil " + iif(vGet == .t., "WHERE tbmovil.deshabilitar = '1'","") + " ORDER BY tbmovil.patente"

   RETURN ( NIL )


Gracias
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: xbrowse y refresh()

Postby acuellar » Fri Jul 22, 2016 1:30 pm

Lo hago así:
Code: Select all  Expand view

    oWHO:=oServer:Query( "SELECT * FROM WHOHAS ORDER BY USUARIO FOR UPDATE")
   
   DEFINE DIALOG oDlg FROM 2, 2 TO 18.5,49.5 TITLE "Usuarios del Sistema" OF oWnd ;  oDlg:lHelpIcon:=.F.
   
   @0,0 xBrowse oBrw Of oDlg AUTOSORT DATASOURCE oWHO COLUMNS "USUARIO" SIZES 94
   oBrw:nMarqueeStyle:=5
   oBrw:lHScroll:=.F.
   oBrw:nColDividerStyle:=LINESTYLE_LIGHTGRAY
   oBrw:nRowDividerStyle:=LINESTYLE_LIGHTGRAY
   oBrw:bClrSelFocus:={ || { CLR_BLUE, { { 0.1,16777215,12961221 } }} }
   oBrw:bClrSel:={ || { CLR_BLUE, { { 0.30,16777215,12961210 } }} }
    oBrw:lRecordSelector:=.F.
   
   oCol:=oBrw:AddCol()
   oCol:bStrData := { || oWHO:NOMBRE}
   oCol:cHeader  := "NOMBRE"
   oCol:nWidth:=170
   oCol:cSortOrder:="NOMBRE"
   
   oCol:=oBrw:AddCol()
   oCol:bStrData := { || oWHO:PCNAME}
   oCol:cHeader  := "PCNAME"
   oCol:nWidth:=100
   oCol:cSortOrder:="PCNAME"
 
   oBrw:CreateFromCode()
   
   @4,150 SAY oBrw:oSeek PROMPT oBrw:cSeek pixel size 30,8 OF oDlg UPDATE PICTURE "@!"
 
   oBrw:bKeyDown:={|nKey| if( nKey=VK_F4,oDlg:End(), ),iif(nKey=nKey=VK_DELETE,Elimina(), )}
 
   ACTIVATE DIALOG oDlg CENTERED ON INIT ( oBrw:Move( 34, 0, oDlg:nWidth()-7, oDlg:nHeight()-67),oBrw:Refresh() )
   
   oWHO:End()
   
Return Nil

Function Elimina()
   IF( MsgNoYes( "Seguro de Borrar a:"+CRLF+ "Usuario: "+oWHO:USUARIO+CRLF+"Nombre: "+ ALLTRIM( oWHO:NOMBRE) ,"Borrar !!!" ), (oWHO:Delete(),oBrw:SetFocus(),oBrw:Refresh() ), ))

Return Nil
*
 


Espero te ayude.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1630
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: xbrowse y refresh()

Postby goosfancito » Fri Jul 22, 2016 3:19 pm

no entiendo en que cambiaria.

el problema es al hacer un REFRESH(), o sea, el xbrowse no se refresca, si lo hace los resultados de la consulta.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: xbrowse y refresh()

Postby luisduque » Sat Jul 23, 2016 5:22 pm

Hola

Recientemente instalé la version 16.05 y cambie a la nueva tymysql y no me refrescaba y lo resolvi de la siguiente manera

Anteriormente tenia esto (Nota: así trabaja bien con ADO)
oRcs:Refresh() //refrescaba el Query por cualquier motivo un cambio en consulta etc

oBrw:Refresh()
oBrw:SetFocus() //opcional


Actualmente la solucioné asi

oBrw:SetMysql( oRcs )

oBrw:Refresh()
oBrw:SetFocus() //opcional
Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
luisduque
 
Posts: 133
Joined: Mon May 12, 2008 4:13 pm
Location: Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 13 guests