No exemplo abaixo consigo editar direto na celula do browse, porem não consigo GRAVAR as mudanças no DBF ??
Minha duvida tambem é os travamentos do registro para gravar na rede??
Agradeço ajuda.
Código: Selecionar todos
INIT DIALOG oDlg CLIPPER NOEXIT TITLE "Parcelas";
AT 3,32 SIZE 290,360 ;
ICON oIcon ;
STYLE DS_CENTER+WS_VISIBLE+WS_POPUP+WS_VISIBLE+WS_CAPTION+WS_SYSMENU ;
FONT oFontDlg ;
ON INIT {|| oBrowse:SetFocus() }
SELECT Parcelas
Parcelas->( OrdSetFocus('I01') )
Parcelas->( DbSeek(cCodVct) )
Parc_d( cCodVct )
Parcelas->( DbSeek( cCodVct ) )
Parcelas->( OrdScope( 0, cCodVct ) )
Parcelas->( OrdScope( 1, cCodVct ) )
@ 005,005 BROWSE oBrowse DATABASE OF oDlg ;
SIZE 285,300 ;
FONT oFontBrw ;
STYLE WS_TABSTOP + WS_VSCROLL + WS_HSCROLL ;
AUTOEDIT ; // ON UPDATE {|| oBrowse:Refresh() } ;
ON UPDATE {|oBrow, Colpos| BrowseUpdate(oBrow, colpos) } ;
ON KEYDOWN {|o,Key| Brw_Key(o,Key,aBtn[1]) } ;
ON GETFOCUS {|| BrwGetFocus(oBrowse)} ;
ON LOSTFOCUS {|| BrwLostFocus(oBrowse)}
ADD COLUMN {|| Codigo } TO oBrowse HEADER 'Codigo'
ADD COLUMN {|| Dias } TO oBrowse HEADER 'Dias' ;
LENGTH 6 ;
DEC 0 ;
EDITABLE ;
PICTURE '999' ;
VALID {|| Parcelas->Dias >= 1 } ;
JUSTIFY LINE DT_RIGHT
ADD COLUMN {|| PercTotal } TO oBrowse HEADER '%' ;
LENGTH 6 ;
DEC 2 ;
EDITABLE ;
PICTURE '@E 999.99' ;
VALID {|| Parcelas->PercTotal >= 0.01 } ;
JUSTIFY HEAD DT_CENTER ;
JUSTIFY LINE DT_RIGHT
oBrowse:Alias := "Parcelas"
oBrowse:lEsc := .T.
oBrowse:bColorSel := cRgb('BRIGHTBLUE')
oBrowse:htbColor := cRgb('RED')
nLeft := 5
nTop := 320
nLeft := DbNavigatorNew( oDlg, oBrowse, 5, 320, aBtn )
nLeft += 60
@ nLeft,nTop BUTTONEX aBtn[5] CAPTION "Alterar" ;
SIZE 50,26 ;
STYLE WS_TABSTOP //;
//ON CLICK {|| Edita( .T., oBrowse ) }
nLeft += 50
@ nLeft,nTop BUTTONEX aBtn[6] CAPTION "Voltar" ;
SIZE 50,26 ;
STYLE WS_TABSTOP ;
ON CLICK {|| IF(Parc_c(cCodVct),oDlg:Close(),)}
ACTIVATE DIALOG oDlg
-----------------------------------
Static Function BrowseUpdate( oBrow, colpos)
MsgExclamation("Column " + ltrim(str(colpos)) + " Changed")
if colpos == 2
oBrow:Append()
else
oBrow:DoHScroll( SB_LINERIGHT )
oBrow:Edit()
end
oBrow:Refresh()
Return Nil
***************************************
STATIC FUNCTION Brw_Key( oBrowse, Key, oBtn1 )
LOCAL lRet := .F.
IF Key == VK_TAB
oBtn1:SetFocus()
ELSEIF Key == VK_RETURN
//MsgInfo(Str(oBrowse:ColPos),3)
ELSE
lRet :=.T.
ENDIF
RETURN lRet
***************************************Nota de Moderação (Toledo): mensagem editada para colocar a Tag [ code ]
Para mais detalhes veja: faq.php?mode=bbcode#f21

