|
GRUPOS DE DISCUSSÃO PROFISSIONAL WINDEV, WEBDEV e WINDEV Mobile |
| | | | | |
Inicio → WINDEV 25 → WB - Como atualizar um componente implementado popups no Webdev? |
WB - Como atualizar um componente implementado popups no Webdev? |
Iniciado por BOLLER ADRIANO, ago., 12 2016 11:11 PM - 1 resposta |
| |
| | | |
|
| |
Membro registado 3.651 mensagems Popularité : +175 (223 votes) |
|
Publicado em agosto, 12 2016 - 11:11 PM |
Prezados,
Para atualizar um componente implementado popups no Webdev segue alguns passos:
PopupClose(p_pagina_popup) posso fazer: TableDeleteAll(<pagina master>.Table_1) TableDisplay(<pagina master>.Table_1,taReExecuteQuery)
Voltando ao seu método de abrir uma nova página que chamarei de PaginaAlterarEquipamento.
Como você faz para fechar essa página?
PageDisplay(PaginaRelacaoEquipamentos)?
Sabe qual o primeiro evento que é executado depois dessa instrução?
No help encontra esta explicação e respetiva sequência de execução:
The following processes are run when the page is displayed: •Opening code of the page (Initialization of ...) •Initialization code of controls •Display the page in the browser •Javascript code associated with the page and the controls •WLanguage code following the call to PageDisplay (if any)
No evento Load (onload) of PaginaRelacaoEquipamentos (browser) coloque: AtualizarPaginaRelacaoEquipamentos() Criar uma Local Procedure server e não browser como explicou que está fazendo, com o nome AtualizarPaginaRelacaoEquipamentos() Coloque nessa procedure o código para atualizar a pagina PaginaRelacaoEquipamentos.
Execute PaginaRelacaoEquipamentos e acesse PaginaAlterarEquipamento.
Faça uma alteração, encerre esta segunda página e pode observar que PaginaRelacaoEquipamentos foi atualizada.
Para terminar: não vejo vantagem em abrir PaginaAlterarEquipamento numa nova página do navegador.
Isso pode fazer com o usuário abra varias páginas.
Recorra à função ExecuteProcess() com a constante trtClick.
Coloque um botão invisível, por exemplo BTN_AtualizarEquipamentos. Tratando-se de um botão, já temos duas áreas para incluir código browser ou servidor. Nesta última (Click of BTN_AtualizarEquipamentos (server) coloque AtualizarPaginaRelacaoEquipamentos()
Só falta executar o evento Click do botão. No evento Load (onload) of PaginaRelacaoEquipamentos (browser), em vez de chamar a server procedure, coloque ExecuteProcess(BTN_AtualizarEquipamentos, trtClick ).
Este método serve precisamente para os casos em que nos deparamos com a necessidade de invocar uma server procedure num evento de código browser. É o que acontece consigo, precisa de uma server procedure porque necessita de executar, entre outras, a função HExecuteQuery() que, como você disse e muito bem, só pode ser executada do lado do servidor.
Já agora uma dica: ative o ajax no código de servidor do botão.
Consulte estes links: http://help.windev.com/en-US/… http://help.windev.com/en-US/… http://help.windev.com/en-US/…
Para perder o foco coloque o nome do table = -1 e use variáveis booleanas.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.651 mensagems Popularité : +175 (223 votes) |
|
Publicado em agosto, 12 2016 - 11:27 PM |
Prezados,
Aqui segue um breve exemplo de como trabalhar com popups.
Crie uma page normal no webdev e coloque um controle CELL:
Após colocar os controles a tela deve ter esse aspecto, note que o CELL é a área onde fica os controles inclusive os botões:
No botão [...] é onde vamos nos concentrar é ele que vai chamar o popup
Limpar()
DesmarcaTudo()
ConvenioAdministrador_PopupUsuario = gnConvenioAdministrador
TableDisplay(TABLE_QRY_Select_Usuarios,taInit)
PopupDisplay(POPUP_Usuario,popupCenter,780,350)
Para colocar um popup em uma página use esse controle que se encontra na barra de ferramentas
Você pode incluir n Popup cada uma deve ter um nome único para poder executar o comando PopupDisplay(...
No caso o Popup_Usuario sendo uma vez colocado ao abrir a page o popup jápossui dados no caso de uma tablelist, mesmo que não tenha chamado os dados já devem estar carregados. E com os controles booleanos e a atualização dos dados para fazer os filtros e trazer apenas os dados necessários.
Utilizando uma query ou uma table programada alimente os dados na tablelist
Aqui é o código que tem na tablelist, note o comando na última linha.
Código:
MySource.pCodigoConvenio = ConvenioAdministrador_PopupUsuario gbControleInicializaPopUpUsuarios = True
PopupClose()
IF gbControleInicializaPopUpUsuarios = False IF ConvenioAdministrador_PopupUsuario > 0 THEN EDT_E_mail = TABLE_QRY_Select_Usuarios[TABLE_QRY_Select_Usuarios].COL_Des_email_usuari_web EDT_Matricula = TABLE_QRY_Select_Usuarios[TABLE_QRY_Select_Usuarios].COL_Cod_matric_autorz gnSeqAutorzUsuario = TABLE_QRY_Select_Usuarios[TABLE_QRY_Select_Usuarios].COL_SeqAutorz gsAcao = "Alterar" IF gnSeqAutorzUsuario <> "" THEN ok is boolean = BuscaUsuario(True) BuscarUsuarioAutorizacao() IF ok = True CamposDesbloquear() EDT_Nome_completo..BrushColor = White EDT_Telefone..BrushColor = White EDT_Matricula..BrushColor = White EDT_E_mail..BrushColor = White EDT_CentroCusto..BrushColor = White EDT_SenhaAcesso..BrushColor = White EDT_SenhaAcessoConfirma..BrushColor = White EDT_SenhaPagamento..BrushColor = White EDT_SenhaPagamentoConfirma..BrushColor = White EDT_Telefone..BrushColor = White END END END ConvenioAdministrador_PopupUsuario = 0 END
gbControleInicializaPopUpUsuarios = False
TABLE_QRY_Select_Usuarios..Value = -1
Espero ter conseguido explanar sobre o assunto e mostrar o funcionamento de um popup no webdev.
Note que quando clicar na linha do Tablelist como os dados são atualizados da page principal.
OBS.: O POPUP ESTA SEMPRE ABERTO, APENAS VOCÊ OCULTA ELE, LEMBRE-SE DISSO E USE O DEBUG PARA ENTENDER O FLUXO DO CÓDIGO.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Mensagem modificada, agosto, 13 2016 - 12:10 AM |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|