Browse bitmap, zebrado e combobox.

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Browse bitmap, zebrado e combobox.

Mensagem 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.
Saudações,
Itamar M. Lins Jr.
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Browse bitmap, zebrado e combobox.

Mensagem 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
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Browse bitmap, zebrado e combobox.

Mensagem 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.
Saudações,
Itamar M. Lins Jr.
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Browse bitmap, zebrado e combobox.

Mensagem 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,,,,,,,,,,,))
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Browse bitmap, zebrado e combobox.

Mensagem 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.
Saudações,
Itamar M. Lins Jr.
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Browse bitmap, zebrado e combobox.

Mensagem 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)
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Browse bitmap, zebrado e combobox.

Mensagem 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
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Responder