>PUBLIC oManipulador as Manipulador > >*!* - Instancia o objeto manipulador >oManipulador = CREATEOBJECT("Manipulador") > > >loGrid = SFT.PAGEFRAME1.PAGE1.CONT1.GRID1 > >* Set the ControlSource for each column >*loGrid.Column1.ControlSource = "FI.ALTURA" >*loGrid.Column5.ControlSource = "FI.ESPESSURA" >*loGrid.Column8.ControlSource = "FI.LARGURA" >*loGrid.Column9.ControlSource = "FI.PARTES" > > >* Bind the event to Column1 >BINDEVENT(loGrid.Column1, "AfterRowColChange", oManipulador, "CalculateTotal") > >* Bind the event to Column5 >BINDEVENT(loGrid.Column5, "AfterRowColChange", oManipulador, "CalculateTotal") > >* Bind the event to Column8 >BINDEVENT(loGrid.Column8, "AfterRowColChange", oManipulador, "CalculateTotal") > >* Bind the event to Column9 >BINDEVENT(loGrid.Column9, "AfterRowColChange", oManipulador, "CalculateTotal") > >DEFINE CLASS Manipulador AS Session >LPARAMETERS nColIndex > >* Define the event handler method directly >PROCEDURE CalculateTotal > ? "CalculateTotal method called" && No message was return ?? > loGrid.Column13.text1.value = VAL(loGrid.Column1.text1.value * loGrid.Column5.text1.value * loGrid.Column8.text1.value * loGrid.Column9.text1.value) > >ENDPROC >enddefine >>
>Release GE_SNNOCALFIS > >IF SFT.EDITING > > Public oHandler > oHandler = Newobject( "myhandler" ) > > oGrid = sft.pageframe1.page1.cont1.Grid1 > > Bindevent(oGrid,"BeforeRowColChange",oHandler,"mymove") > >ENDIF > >DEFINE CLASS myhandler As Session > >PROCEDURE mymove >Lparameters nColIndex > SELECT FT > >IF SFT.editing OR SFT.Adding > > Select FI > > If !Empty(FI.REF) And (FI.qtt <> 0 And ( FI.partes <> 0 And FI.altura <> 0 And FI.largura <> 0 And FI.espessura <> 0)) > > > SFT.pageframe1.page1.cont1.grid1.column13.text1.Value =( SFT.pageframe1.page1.cont1.grid1.column1.text1.Value * SFT.pageframe1.page1.cont1.grid1.column5.text1.Value * SFT.pageframe1.page1.cont1.grid1.column8.text1.Value * SFT.pageframe1.page1.cont1.grid1.column9.text1.Value) > > Replace FI.u_cantidad With Round(( partes * altura * largura * espessura ),4) > Replace FI.etiliquido With Round( Round( FI.u_cantidad *((epv *(1-desconto/100)*(1-desc2/100)*(1-desc3/100)*(1-desc4/100)*(1-desc5/100)*(1-desc6/100))), 6 ) , 2) > Else > If !Empty(FI.REF) And ( FI.qtt <> 0 And ( FI.partes = 0 Or FI.altura = 0 Or FI.largura = 0 Or FI.espessura = 0) ) > Replace FI.u_cantidad With FI.qtt > Endif > Endif > >do fttots >do ftactval > >ENDIF > >ENDPROC > >ENDDEFINE >>
>select fi >oGrid = SFT.Pageframe1.Page1.Cont1.Grid1 >For i = 1 to oGrid.ColumnCount > > If oGRid.Columns(i).controlsource == "FI.ALTURA" &&By ControlSource > ? oGRid.Columns(i).text1.value > Endif >EndFor >>