× Linguagem de Programação ADVPL

Perguntas Como editar os dados de um TWBrowse?

Mais
9 anos 10 meses atrás #26780 por saranery
Boa tarde,
Estou montando uma tela para exibir o arquivo de trabalho com a função TWBrowse(), só que eu não estou conseguindo editar os campos das células usando a função lEditCell, quando eu clico em cima da célula que quero editar, ele atualiza a célula seguinte da linha, alguém já viu isso?

Segue o fonte:

//Desenho da tela
oDlg := MSDialog():New( 10,10,600,800,"Arquivo de trabalho: "+arqTrab,,,.F.,,,,,,.T.,,,.T. )
//browse de exibição do arquivo de trabalho
oBrowse :=TWBrowse():New(010,010,380,250,,{},,oDlg,,,,,{||},{||} ,,,,,,,,,.t.,{||},,)

oBrowse:setArray(_Dados)

oBrowse:AddColumn(TCColumn():New('Data cálculo',{|| _Dados[oBrowse:nAt,08]} ,"@D 99/99/99 ",,,"Left",35,.F.,.F.))
oBrowse:AddColumn(TCColumn():New('Código',{|| _Dados[oBrowse:nAt,01]} ,"@!",,,"Left",35,.F.,.F.))
oBrowse:AddColumn(TCColumn():New('Bin', {|| _Dados[oBrowse:nAt,02]} ,"@!",,,"Left",35,.F.,.F.))
oBrowse:AddColumn(TCColumn():New('Qtd.p/pcte',{|| _Dados[oBrowse:nAt,03]} ,,,,"Left",35,.F.,.F.))
oBrowse:AddColumn(TCColumn():New('Pcts.p/bin', {|| _Dados[oBrowse:nAt,04]} ,,,,"Left",35,.F.,.F.))
oBrowse:AddColumn(TCColumn():New('Inv.Inicial', {|| _Dados[oBrowse:nAt,05]} ,,,,"Left",35,.F.,.F.))
oBrowse:AddColumn(TCColumn():New('Qtd.Bins',{|| _Dados[oBrowse:nAt,06]} ,,,,"Left",35,.F.,.F.))
oBrowse:AddColumn(TCColumn():New('Obs.',{|| _Dados[oBrowse:nAt,07]} ,"@!",,,"Left", ,.F.,.F.))

oBrowse:blDblClick:= {|| editaTRB(oBrowse:ColPos(),@_Dados)}

oDlg:Activate(,,,.T.)
Return


static function editaTRB(N,ADADOS)

local pCol := N

if (cvaltochar(pCol) $ '1238')
msginfo("Esta informação não pode ser editada","Atenção")
else
lEditCell(@ADADOS,oBrowse,"",pCol)

//ERRO AQUI: QUANDO ATUALIZA OS DADOS, ELE 'PULA', PREENCHENDO O PROXIMO CAMPO DO BROWSE
endif

return

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 10 meses atrás - 9 anos 10 meses atrás #26801 por davidjackpaiva
Eu faço assim, funciona sem problema:

...

oBrowse:blDblClick:= {|| editaTRB(@_Dados)}

oDlg:Activate(,,,.T.)
Return


static function editaTRB(_Dados)

lEditCell(@_Dados,oBrowse,"",oBrowse:ColPos())

Return

tdn.totvs.com/display/tec/TCBrowse

se nao conseguir te passo amanha um fonte que tenho no serviço que funfa normal. Que eu lembro é assim acima que funfa.. tenta ae.
Ultima edição: 9 anos 10 meses atrás por davidjackpaiva.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 10 meses atrás #26807 por saranery
Oi David, obrigada pelo retorno
Fiz como sugeriu mas ainda não deu certo, quando eu clico na célula ela habilita a edição, mas quando eu digito o novo valor e dou enter, o novo valor vai pra célula da coluna seguinte....

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.116 segundos
Joomla templates by a4joomla