- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Como editar os dados de um TWBrowse?
×
Linguagem de Programação ADVPL
Perguntas Como editar os dados de um TWBrowse?
- saranery
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 50
- Obrigados Recebidos: 0
9 anos 10 meses atrás #26780
por saranery
Como editar os dados de um TWBrowse? foi criado 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
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.
- davidjackpaiva
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 153
- Obrigados Recebidos: 0
9 anos 10 meses atrás - 9 anos 10 meses atrás #26801
por davidjackpaiva
Respondido por davidjackpaiva no tópico Como editar os dados de um TWBrowse?
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.
...
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.
- saranery
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 50
- Obrigados Recebidos: 0
9 anos 10 meses atrás #26807
por saranery
Respondido por saranery no tópico Como editar os dados de um TWBrowse?
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....
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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Como editar os dados de um TWBrowse?
Tempo para a criação da página:0.116 segundos