FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ACTUALIZAR VALOR DE FOOTER EN TSBROWSE
Posts: 195
Joined: Sat Oct 22, 2005 01:17 PM
ACTUALIZAR VALOR DE FOOTER EN TSBROWSE
Posted: Tue May 20, 2008 11:47 PM

Buenas noches amigos de foro

Quiero actualizar el footer de una columna que nunca edito es decir no puedo utilizar el preedit ni posedit, cargo el vector cada que presiono un boton y en ese momento quiero que se actualizar el footer e intentado de todo

ADD COLUMN TO BROWSE oBrw ARRAY ELEMENT 5 PICT "99,999,999.99" ;
HEADER oemtoansi("Saldo") WIDTH 100 ;
ALIGN DT_CENTER ;
MOVE DT_MOVE_DOWN;
COLORS CLR_RED,CLR_HGRAY;
FOOTER { || aSaldo += Sumasaldo( aTestData,oBrw,oDlg) }
// activando footers
oBrw:lFooting := .T.

oBrw:aColumns[ 2 ]:cFooting := "Saldo Total.."

  • oBrw:Acolumns[ 5 ]:cFooting := { || LTrim( Transform( aSaldo, "#,###,###.##" ) ) }

  • oBrw:aDefault := {0,0,0,0,{ || aSaldo:= Sumasaldo( aTestData,oBrw,oDlg),oBrw:DrawFooters(),0 } }

  • oBrw:Acolumns[ 5 ]:cFooting := { || LTrim( Transform( aSaldo, "#,###,###.##" ) ),oBrw:DrawFooters() }

  • FOOTER { | uVal | aSaldo += ( uVal - aSaldo ),Sumasaldo( aTestData,oBrw,oDlg) }

  • FOOTER { || Ltrim( Str( aSaldo,9,2 )) }

Saludos

Oscar

Fwh 23.10, bcc55

Posts: 143
Joined: Fri Oct 07, 2005 03:14 PM
ACTUALIZAR VALOR DE FOOTER EN TSBROWSE
Posted: Wed May 21, 2008 12:15 AM

Oscar intenta :

*--// Defino Footer
oBrw:aColumns[3]:cFooting:={ || tran( op:nTotCap,'9999,999.99') }

*--// Modifico variable y pinto de nuevo el Footer
op:nTotCap:=Suma()
oBrw4:DrawFooters()

Espero te sirva, saludos
Joel Andujo[/url]

Posts: 195
Joined: Sat Oct 22, 2005 01:17 PM
ACTUALIZAR VALOR DE FOOTER EN TSBROWSE
Posted: Mon May 26, 2008 10:19 PM

Joel

Primero gracias por tu respuesta, lo he probado pero no me funciona lo estoy haciedo de esta manera.

ADD COLUMN TO BROWSE oBrw ARRAY ELEMENT 5 PICT "99,999,999.99" ;
HEADER oemtoansi("Saldo") WIDTH 100 ;
ALIGN DT_CENTER ;
MOVE DT_MOVE_DOWN;
COLORS CLR_RED,CLR_HGRAY
// activando footers
oBrw:lFooting := .T.
*--// Defino Footer
oBrw:aColumns[5]:cFooting:={ || tran( aSaldo,'9999,999.99') }

--// Modifico variable y pinto de nuevo el Footer
aSaldo := Sumasaldo( aTestData,Obrw,oDlg)
*oBrw:DrawFooters()

y el draw en la funcion por que en el browse de daun error

FUNCTION carga_mes(manio,oBrwp,aTestData,mcuenta)
local SetArray,j,mesdsc,mmes,asaldo

aTestData:= {}
DBSELECTAREA("tmeses")
ordSetfocus("imeses")
dbgotop()

DBSELECTAREA("ttotmens")
ordSetfocus("itotmen1")
dbgotop()
oBrwp:SetArray( aTestdata )
FOR J = 0 to 12
mmes := RTRIM(LTRIM(str(j,2)))
IF len(mmes) = 1
mmes := '0'+mmes
endif
DBSELECTAREA("tmeses")
ordSetfocus("imeses")
dbgotop()
dbseek(mmes)
mesdsc := tmeses->mesdesc
DBSELECTAREA("ttotmens")
ordSetfocus("itotmen1")
dbgotop()
dbseek(space(4)+mcuenta+manio+mmes)
aAdd(aTestdata,{mmes,mesdsc,ttotmens->tddebe,ttotmens->tdhaber,ttotmens->tddebe-ttotmens->tdhaber})
NEXT
aSaldo := 0.00
AEval( aTestData, {|aItem| asaldo += aItem[5] } )
*aSaldo := Sumasaldo( aTestData,Obrwp,oDlg)
?? aSaldo
oBrwp:DrawFooters()
oBrwp:SetArray( aTestdata )
oBrwp:ResetBarPos()
oBrwp:Refresh()

return nil

Si algo esta mal o hay otra manera agradeceria tu ayuda

Saludos

Oscar

Fwh 23.10, bcc55

Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
Re: ACTUALIZAR VALOR DE FOOTER EN TSBROWSE
Posted: Tue May 27, 2008 02:12 AM
EASYSOFT wrote:Quiero actualizar el footer de una columna que nunca edito es decir no puedo utilizar el preedit ni posedit
Puedes actualizar el footer de una columna desde la edici贸n de otra(s), sobre todo si la edici贸n de dicha(s) columna(s) afecta el valor del footer de la columna en cuesti贸n.

EASYSOFT wrote: cargo el vector cada que presiono un boton y en ese momento quiero que se actualizar el footer e intentado de todo
Tambi茅n puedes actualizar el valor del footer desde una funci贸n ajena al browse, solamente tendr谩s que refrescar el footer con oBrw:DrawFooters() o con oBrw:Refresh()

EASYSOFT wrote:* oBrw:aDefault := {0,0,0,0,{ || aSaldo:= Sumasaldo( aTestData,oBrw,oDlg),oBrw:DrawFooters(),0 } }

* oBrw:Acolumns[ 5 ]:cFooting := { || LTrim( Transform( aSaldo, "#,###,###.##" ) ),oBrw:DrawFooters() }
El codeblock que asigna el valor al footer, debe devolver el dato correcto. Ya que estoy viendo que el codeblock que defines devuelve una referencia al mismo browse (oBrw:DrawFooters), quita esa instrucci贸n del codeblock y llamala externamente aprovechando alg煤n otro evento, preferentemente desde la(s) funcion(es) que modifica(n) el valor del footer.

Un abrazao.

Manuel Mercado.
manuelmercado at prodigy dot net dot mx
Posts: 195
Joined: Sat Oct 22, 2005 01:17 PM
ACTUALIZAR VALOR DE FOOTER EN TSBROWSE
Posted: Tue May 27, 2008 09:48 PM

Listo Funciono

Gracias Joel

Gracias Sr. Mercado

Saludos

Oscar

Fwh 23.10, bcc55

Continue the discussion