Página 1 de 1

como atualizar um EDIT no browse ?

Enviado: 18 Jan 2019 00:37
por Fernando queiroz
estou com o seguinte problema , quando edito uma célula do browse e dou enter o novo valor não é gravado no DBF`

oBrowse1:AddColumn( HColumn():New('QUANT', FieldBlock( 'i_qTrib' ) ,'N',14, 4 ,.T.,2,2,'@E 99999999.9999',{|| oBrowse1oColumn5_onLostFocus( ) },,,,,,,,))

Código: Selecionar todos

*************************************************
STATIC FUNCTION oBrowse1oColumn5_onLostFocus
*************************************************
	SKIP 0
	DBUNLOCK()
	RecLOCK( )
	ITENS->i_vUnTrib   := STR((i_vProd / i_qTrib),14,10)
	SKIP 0
	DBunlock()
	NotaXML:oBrowse1:REFRESHLINE()

	
Return .T.

*************************************************
STATIC FUNCTION RecLock()
*************************************************

DO WHILE ! RLOck()
   INKEY(0.3)
ENDDO
RETURN Rlock()
telasgc.jpg
SE eu teclar enter com o novo valor que foi colocado antes ele faz o calculo usando a nova quantidade
telasgc.jpg

como atualizar um EDIT no browse ?

Enviado: 18 Jan 2019 00:45
por Fernando queiroz
coloquei um display para ver o valor do campo no browse e ele esta o anterior mesmo após de ter dado enter
telasgc.jpg

como atualizar um EDIT no browse ?

Enviado: 18 Jan 2019 11:07
por Fernando queiroz
Solução encontrada:
trocando o ONLOSTFOCUS da célula por ONUPDATE do browse, resolveu o problema

:% :% :%

@ 21,324 BROWSE oBrowse1 DATABASE OF oGroup1 SIZE 1004,322;
ON POSCHANGE {|| oBrowse1_ONPOSCHANGE( ) } ;
ON UPDATE {|| oBrowse1_onUpdate( ) }


antes estava assim

oBrowse1:AddColumn( HColumn():New('QUANT', FieldBlock( 'i_qTrib' ) ,'N',14, 4 ,.T.,2,2,'@E 99999999.9999',{|| oBrowse1oColumn5_onLostFocus( ) },,,,,,,,))