Hola Sr. Manuel
Tengo algunos problemas con TSBrowse relacionados con el REFRESH:
Tengo 2 DBFs
1. Cuentas.DBF
2. TRANSAC.DBF
Utilizo 2 tsbrowse para mostrar en el de la izq. la lista de cuentas y en der. la lista de los movimientos de cada cuenta.
El primer BROWSE presenta la lista por medio de un arreglo y usando ON CHANGE tomo el valor del elemento correspondiente del arreglo para hacer un SCOPE de la base de datos de transacciones. He puesto un boton con un BROWSE() que me ha permitido comprobar que el SCOPE esta funcionando. El problema es que en el segundo TSBrowse la informacion no se presenta en forma correcta ya que aveces se muestra el 1er registro, otras veces los dos ultimos, etc.
// browse 1
REDEFINE BROWSE oBrw5 ID 101 OF oDlg ;
ON CHANGE TCRED->(OrdScope(0,aTCRED[oBrw5:nAt,2]),OrdScope(1,aTCRED[oBrw5:nAt,2]),DBGOTOP(),oBrw6:GOTOP(),oBrw6:REFRESH())
oBrw5:SetArray(aTCRED)
ADD COLUMN TO oBrw5 DATA ARRAY ELEMENT 1 HEADER "NOMBRE" ALIGN 0,1,1 SIZE 240
ADD COLUMN TO oBrw5 DATA ARRAY ELEMENT 3 HEADER "SALDO" ALIGN 2,1,1 SIZE 70
// browse 2
SELE TCRED
REDEFINE BROWSE oBrw6 ID 102 OF oFld3:aDialogs[3] ALIAS "TCRED"
ADD COLUMN TO oBrw6 DATA FieldWBlock('FECHA',SELECT()) HEADER 'FECHA' SIZE 70 ALIGN 1,1,1
La pregunta es: Esta es la forma correcta de hacer el refresh de la segunda dbf, existe alguna clausula que no este incluyendo.
Gracias por su valioso tiempo
PD. Este mismo problema lo tengo en varias secciones del programa. Antes cuando estaba en FW23 todo estaba de maravilla.
Para MMercado TSBrowse
Re: Para MMercado TSBrowse
Hola José:
Dime por favor que versión de TSBrowse estás usando.
Manuel Mercado Gómez.
Dime por favor que versión de TSBrowse estás usando.
Manuel Mercado Gómez.
manuelmercado at prodigy dot net dot mx
Re: Para MMercado TSBrowse
* TSBrowse.ch Version 4.0 1/Jan/2002
He probado con listbox y el problema de refresh fue el mismo. Lo que he tenido que hacer me parece algo extremo:
oBrw6:GOTOP()
oBrw6:GOBOTTOM()
oBrw6:REFRESH()
asi si se ha refrescado correctamente. Antes luego de un SCOPE o SET FILTER solo era necesario GOTOP() que ha pasado ?
He probado con listbox y el problema de refresh fue el mismo. Lo que he tenido que hacer me parece algo extremo:
oBrw6:GOTOP()
oBrw6:GOBOTTOM()
oBrw6:REFRESH()
asi si se ha refrescado correctamente. Antes luego de un SCOPE o SET FILTER solo era necesario GOTOP() que ha pasado ?
Re: Para MMercado TSBrowse
Hola José:
Aquí te muestro un pequeño programa que hace lo que tú quieres:
Después de haber creado la librería SBrowseX.lib guárdalo y compílalo en \TSBrowse\Samples así: Buildx 2browses
Un abrazo.
Manuel Mercado Gómez.
Te sugiero que descargues TSBrowse V.8.0 desde aquí:JoseGS wrote:* TSBrowse.ch Version 4.0 1/Jan/2002
Aquí te muestro un pequeño programa que hace lo que tú quieres:
Code: Select all
// 2Browses.prg
#include "c:\FWH\Include\FiveWin.ch"
#include "c:\TSBrowse\Include\TSBrowse.ch" // de ser necesario cambia las rutas | change paths if necessary
Request DBFCDX
Function Main()
Local oDlg, oBrw[ 2 ], cTitle, ;
aStates := {}
Field State
If File( "States.cdx" )
FErase( "States.cdx" )
EndIf
If File( "Employee.cdx" )
FErase( "Employee.cdx" )
EndIf
RddSetDefault("DBFCDX")
Use Employee New Shared
Index On State Tag Bystate To Employee
Use States New Shared
Index On State Tag Bycode To States
While ! EoF()
AAdd( aStates, { SubStr( States->State, 3 ), SubStr( States->State, 1, 2 ) } )
DbSkip()
EndDo
DbSelectArea( "Employee" )
Define Dialog oDlg Title "Two Browses 1.-Array 2.-Scoped Dbf"
@ 0, 0 Browse oBrw[ 1 ] Array aStates Of oDlg Size 70, 75 Pixel ;
On Change { |o| cTitle := o:Proper( Trim( o:aArray[ o:nAt, 1 ] ) ), ;
Employee->( OrdScope( 0, o:aArray[ o:nAt, 2 ] ), OrdScope( 1, o:aArray[ o:nAt, 2 ] ), ;
DbGoTop(), oBrw[ 2 ]:Reset() ) }
Add Column To oBrw[ 1 ] Data Array Element 1 Title "State" Size 118
@ 0, 75 Browse oBrw[ 2 ] Alias "Employee" Of oDlg Size 80, 75 Pixel
Add Column to oBrw[ 2 ] Data FieldWBlock( "First", Select() ) Title {||cTitle} Size 113
Add Column to oBrw[ 2 ] Data FieldWBlock( "State", Select() ) Title "St" Size 25
oBrw[ 2 ]:lNoHScroll := .T.
Activate Dialog oDlg Centered
Return Nil
Un abrazo.
Manuel Mercado Gómez.
manuelmercado at prodigy dot net dot mx
Re: Para MMercado TSBrowse
Perdón, olvidé el link, aquí lo tienes:mmercado wrote:Te sugiero que descargues TSBrowse V.8.0 desde aquí:
http://www.box.net/shared/jdkzu5paqu
Manuel Mercado Gómez.
manuelmercado at prodigy dot net dot mx
Re: Para MMercado TSBrowse
Sr. Manuel, voy a descarcar lo que me indica y espero que tod vaya mejor.
Hasta pronto
Gracias por su ayuda
Saludos hasta Mexico desde Panama
Hasta pronto
Gracias por su ayuda
Saludos hasta Mexico desde Panama
Re: Para MMercado TSBrowse
Sr. Manuel,
he descargado la version que me indica pero en el TSBROWSE.CH leo que se trata de la version 4.... sera que me he equivocado de archivo ?
he descargado la version que me indica pero en el TSBROWSE.CH leo que se trata de la version 4.... sera que me he equivocado de archivo ?
Re: Para MMercado TSBrowse
Hola José:
Un abrazo.
Manuel Mercado Gómez.
P.D. Me sentiría más cómodo si me quitas el "Señor" y me tuteas (igual que yo a tí), o sea Manuel a secas.
Mea culpa no he actualizado la versión y la fecha en el archivo TSBrowse.ch, checa por favor la versión en TSBrowse.prg.JoseGS wrote:he descargado la version que me indica pero en el TSBROWSE.CH leo que se trata de la version 4.... sera que me he equivocado de archivo ?
Un abrazo.
Manuel Mercado Gómez.
P.D. Me sentiría más cómodo si me quitas el "Señor" y me tuteas (igual que yo a tí), o sea Manuel a secas.
manuelmercado at prodigy dot net dot mx
Re: Para MMercado TSBrowse
Mercado 'Sempai'
Saludos
Angel, Valencia, Venezuela
xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Angel, Valencia, Venezuela
xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Re: Para MMercado TSBrowse
Listo Manuel
se me olvidaba que aqui todos somos amigos, casi hermanos...
se me olvidaba que aqui todos somos amigos, casi hermanos...