Page 1 of 1
replace value on xbrowse ( tdatabase)
Posted: Tue Apr 20, 2021 8:50 am
by Silvio.Falconi
I open the reserva.dbf with Tdatabase and build axbrowse

I need to calc the days on the Seven column ( red column)
WITH OBJECT oBrowse:aCols[ 7]
:bEditValue := TotalDays(oBrowse)
END
I tried with (
but not run ok )
Function TotalDays(oBrowse)
local nRecord := oBrowse:narrayat
local dStart := oBrowse:aArrayData[nRecord][5]
local dEnd := oBrowse:aArrayData[nRecord][6]
local nGiorni:= (dEnd-dStart)+1
*oBrowse:aCols[7]:VarPut(nGiorni)
return nGiorni
any solution ?
Re: replace value on xbrowse ( tdatabase)
Posted: Tue Apr 20, 2021 11:46 am
by Marc Venken
Silvio,
Maybe a good solution is to change the data/header that the column is showing the calculated data automatic when you setup the browse.
I have seen code like this :
ADD TO oBrw HEADER "NET" DATA ROUND( oBrw:aRow[5] * oBrw:aRow[7] - oBrw:aRow[ 8 ], 0 ) ;
PICTURE "999,999,999"
Re: replace value on xbrowse ( tdatabase)
Posted: Tue Apr 20, 2021 11:49 am
by Marc Venken
.Or.
Code: Select all | Expand
WITH OBJECT :PRIJS
:nEditType := EDIT_GET
:bOnChange := { |oCol,uOldVal| Herberekening( oLbxdet, oCol:Value ) }
:bKeyChar := { |k| If( k == VK_RETURN, ( oLbxdet:GoRight(), 0 ), nil ) }
ENDWITH
function Herberekening(oBrw,oCol)
local nTotaal:=0
nTotaal = (oBrw:BES:value * oBrw:prijs:value) - ;
((oBrw:BES:value*oBrw:prijs:value)*oBrw:kor:value/100)
oBrw:totaal:varput(nTotaal)
oBrw:BACK:varput(oBrw:BES:value - oBrw:LEV:value)
oBrw:MakeTotals()
oBrw:refresh()
return .t.
Re: replace value on xbrowse ( tdatabase)
Posted: Tue Apr 20, 2021 1:52 pm
by nageswaragunupudi
Code: Select all | Expand
oBrowse:aCols[ 7 ]:bEditValue := { || oBrowse:oCol(6):Value - oBrowse:oCol(5):Value + 1 }
Re: replace value on xbrowse ( tdatabase)
Posted: Wed Apr 21, 2021 8:08 am
by Silvio.Falconi
nageswaragunupudi wrote:Code: Select all | Expand
oBrowse:aCols[ 7 ]:bEditValue := { || oBrowse:oCol(6):Value - oBrowse:oCol(5):Value + 1 }
thanks rao I sent you the test