Página 1 de 1

Browse bitmap, zebrado e combobox.

Enviado: 28 Ago 2023 14:54
por Itamar M. Lins Jr.
Olá!
Captura de tela 2023-08-28 150848.png
Captura de tela 2023-08-28 151243.png
Saudações,
Itamar M. Lins Jr.

Browse bitmap, zebrado e combobox.

Enviado: 04 Jul 2024 11:08
por Fernando queiroz
Ola Itamar como voce faz para atualizar no Browse uma celula que tem combobox , tipo a celula LEVAR onde tem um combobox , apos perder o foco como voce atualiza.
para pegar o novo valor para gravar no banco de dados.
no meu caso ele ainda esta pegando o valor anterior a mudanca do combobox
estou querendo fazer isso mas to levando uma surra danada

Browse bitmap, zebrado e combobox.

Enviado: 04 Jul 2024 15:11
por Itamar M. Lins Jr.
Olá!
Eu uso DBF.

Código: Selecionar todos

LOCAL aEntregue:={"Sim","Não","Parte"}
...
Add Column {||iif( pd->entregue="S","Sim",iif(Empty(pd->totentreg),"Não","Parte")) } to oBrw ITEMS aEntregue Editable ; 
  Header 'Levar' type 'C' dec 0 length 6 Justify Line DT_CENTER  Justify Head DT_CENTER
Saudações,
Itamar M. Lins Jr.

Browse bitmap, zebrado e combobox.

Enviado: 04 Jul 2024 18:09
por Fernando queiroz
Consegui!!!!
Com o ON UPDATE no browse

@ 2,113 BROWSE oBrowse1 ARRAY SIZE 1020,450 STYLE WS_BORDER + WS_VSCROLL ;
ON SIZE ANCHOR_TOPABS + ANCHOR_LEFTABS + ANCHOR_RIGHTABS + ANCHOR_BOTTOMABS ;
ON KEYDOWN {|oBrowse1,nKeyPress| ::SENHA_onKeyDown( oBrowse1, nKeyPress, oDlg, @cProgressKey ) };
ON UPDATE {|| ::oBrowse_OnUpdate( oBrowse1 ), oBrowse1:aArray := ::CARREGA( cAlvo_Consulta ), obrowse1:REFRESH() }

oBrowse1:AddColumn( HColumn():New( "",,"C",3,0,.F.,1,0, ) )
oBrowse1:AddColumn( HColumn():New('ID', hwg_ColumnArBlock() ,'N',12, 0 ,.F.,1,2,,,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('OPERADOR', hwg_ColumnArBlock() ,'C',80, 0 ,.F.,1,,,,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('CARGO', hwg_ColumnArBlock() ,'U',23, 0 ,.T.,0,0,,,,cargo,,,,,))
oBrowse1:AddColumn( HColumn():New('SITUAÇÃO', hwg_ColumnArBlock() ,'U',23, 0 ,.T.,0,0,,,,situacao,,,,,))
oBrowse1:AddColumn( HColumn():New('Nível', hwg_ColumnArBlock() ,'C',33, 0 ,.F.,1,,,,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('A', hwg_ColumnArBlock() ,'N',3, 0 ,.F.,1,,,,,,,,,,,))
oBrowse1:AddColumn( HColumn():New('P', hwg_ColumnArBlock() ,'C',30, 0 ,.F.,1,,,,,,,,,,,))

Browse bitmap, zebrado e combobox.

Enviado: 04 Jul 2024 18:23
por Itamar M. Lins Jr.
Olá!
Essa "ruma" de virgula... Não é um código fácil de entender.

Array tem uns tratamentos diferentes, como você faz para mandar gravar no SGBD ?

Saudações,
Itamar M. Lins Jr.

Browse bitmap, zebrado e combobox.

Enviado: 04 Jul 2024 19:36
por Fernando queiroz
no ON UPDATE do Browse eu chamo
ON UPDATE {|| ::oBrowse_OnUpdate( oBrowse1 ), oBrowse1:aArray := ::CARREGA( cAlvo_Consulta ), obrowse1:REFRESH() }


*********************************************************************************************************************************************************
METHOD oBrowse_OnUpdate( oBrowse1 ) CLASS SENHACLASS
*********************************************************************************************************************************************************
local cSQL;


cSQL := "UPDATE password SET "
cSQL += "password.CARGO = '" + oBrowse1:aArray[oBrowse1:nCurrent, 4] +"', "
cSQL += "password.SITUACAO = '" + oBrowse1:aArray[oBrowse1:nCurrent, 5] +"' "
cSQL += "WHERE password.PASSWORD_Id = '" + strzero(oBrowse1:aArray[oBrowse1:nCurrent,2],11,0) + "'"
ConeccoesClass():ExecuteSQL(::oServer, cSQL)

Browse bitmap, zebrado e combobox.

Enviado: 04 Jul 2024 19:38
por Fernando queiroz
e quanto as virgulas sao todos os parametros do addcolumn , podeia usar somente os que preciso, mas deixo as virgulas para se precisar nao ficar contando

na Classe HBROWSE quando instancia recebe os parametros

METHOD New( cHeading, block, type, length, dec, lEditable, nJusHead, nJusLin, cPict, bValid, bWhen, aItem, bColorBlock, bHeadClick )
oBrowse1:AddColumn( HColumn():New('SITUAÇÃO', hwg_ColumnArBlock() ,'U',23, 0 ,.T.,0,0,,,,situacao,,,,,))

no meu caso eu não uso o tradutor de HARBOUR para C eu coloco diretamente a chamada no METODO

quando voce escreve dessa forma

Add Column {||iif( pd->entregue="S","Sim",iif(Empty(pd->totentreg),"Não","Parte")) } to oBrw ITEMS aEntregue Editable ;
Header 'Levar' type 'C' dec 0 length 6 Justify Line DT_CENTER Justify Head DT_CENTER


ele transforma para a forma que eu uso