Página
Inicial

Power

Artigos

BD
SQL

JavaScript

Vídeo Aulas

Xiko.php

Algoritmos

Alunos

SQL OnLine

Sugestões
e Críticas

Horário do
Professor

Cadastro

Lembrar Senha

15. Exemplo 15 – Programação com Banco de Dados : DataWindow (Tabular)

15.1 Para acompanhar os passos deste capítulo é necessário que tenha sido cumprida todas as etapas dos capítulos 9 e 10. Abra o Powerbuilder e conecte no banco de dados, como explicado nos itens 10.5, 10.6 e 10.7.

15.2 Para utilizar os recursos do objeto DataWindow, clique no botão DataWindow da PowerBar, como mostra a figura abaixo :



15.3 Em seguida na janela Select DataWindow, clique no botão New. Veja figura abaixo :



15.4 Na janela New DataWindow, selecione em Data Source o item Quick Select, em Presentation Style selecione Freeform e clique no botão OK :



15.5 Na janela Quick Select, selecione a tabela produtos no item Tables, selecione todas as colunas com um clique no botão Add All, em seguida clique no botão OK. Veja figura abaixo :



15.6 Para alterar as propriedades desta nova DataWindow, repita os procedimentos dos itens 14.6, 14.7, 14.8, 14.9 e 14.10.

15.7 Ajuste o tamanho da Column Object, como na figura abaixo para a coluna venda :

 

15.8 Você ja sabe sabe salvar uma nova DataWindow, este procedimento foi feito no item 11.11 e 14.11. Repita este procedimento e coloque o nove d_produtos para esta nova DataWindow, veja como na figura abaixo :



15.9 O próximo pass é a definição do argumento para retrieve. Este procedimento foi feito no item 11.12, e será repitido agora. Siga os passos mostrados nas figuras abaixo :

15.10 Clique no botão Data Source :


15.11 No menu Design, clique no item Retrieval Arguments :



5.12 Na janela Spedify Retrieval Arguments, defina o argumento ra_produto do tipo Number :



15.13 Na parte inferior da janela atual, em Where selecione em column produto, em Operator = e em Value digite o nome do argumento criado anteriormente ra_produto, não esqueça que o nome do argumento deve ter o caracter dois pontos antes.( :ra_produto )



15.14 A DataWindow está pronta, grave as alterações e feche-a.

15.15 Agora, repitiremos os procedimentos do capítulo 12 para criarmos a window para a tabela de produtos.

15.16 Crie uma nova window, clicando no botão window da powerbar, como mostra a figura abaixo :


15.17 Em seguida, na janela Select Window, clique no botão New, como mostra a figura abaixo :


15.18 Para colocar um controle DataWindow, na window que acabamos de criar, clique no menu Controls, em seguida clique no item DataWindow, como mostra a figura abaixo :


15.20 O próximo passo é clicar na nova window e redimensionar o controle, fazendo com que ocupe o espaço necessário dentro da nova window.



15.21 Clique com o botão direito do mouse em cima do controle, em seguida clique no item Properties. Como mostra a figura abaixo :


15.22 Na janela DataWindow, troque o campo Name para dw_produtos e coloque no campo DataWindow Object Name, o nome da datawindow d_produtos. Veja como na figura abaixo :


15.23 A figura abaixo, mostra como está a nossa window w_produtos neste momento do desenvolvimento.

 

15.24 O próximo passo e criar os eventos de usuário : ue_abrir, ue_salvar, eu_excluir e ue_novo. Para isso selecione no menu Declare o item User Events, como mostra a figura abaixo :



15.25 Atenção para os detalhes. Na jenela Events - w_produtos, acrescente os 4 novos eventos na coluna Event Name e clique no botão OK, como mostra a figura abaixo :


15.26 Vamos declara uma Instance Variable. Para isso no menu Declare, clique no item Instance Variables...



15.27 Na janela Declare Instance Variables, digite : integer ii_produto e clique no botão OK, como mostra a figura abaixo :


O nome da varíavel é escolhida pelo programador, com o nome ii_produto quero lembrar que é uma variável INTEGER e INSTANCE, que armazenará o valor de um produto.

15.28 Clique com o botão direito do mouse em cima do controle DataWindow, selecione a opção Script, como mostra a figura abaixo :



15.29 No Script - itemchanged for ds_produtos, coloque as 4 linhas de comandos, como mostra a figura abaixo :



O evento itemchanged é executado toda vez que alguma informação é alterada no controle dw_produtos. Assim, se o nome do datawindow object modificado é produto, significa que algum valor foi digitado em produto. Então guardamos na variavel ii_produto o valor digitado para produto. Em seguida executamos o evento ue_abrir para verificar se existe o produto.

 

15.30 Vamos agora programar os eventos de usuário criados no item 15.24 e 15.25.

15.31 Para ter acesso a estes eventos, basta clicar com o botão direito do mouse na window. Atenção você não deve estar com o mouse em cima do controle, para evitar este erro coloque a seta do mouse fora dos limites da window, clique com o botão direito do mouse e clique no item Script, como mostra a figura abaixo :


15.32 Você terá certeza que executou o procedimento anterior com sucesso, se conseguir acesso aos scripts for w_produtos, por exemplo na figura abaixo, open for w_produtos. Digte as 2 linhas de comandos para este evento.


15.33 Para selecionar outro evento da window w_produtos, clique em Select Event. Veja a seta do mouse indicando onde na figura abaixo :


15.34 No evento ue_abrir, digite as linhas de comandos como mostra a figura abaixo :


15.35 No evento ue_excluir, digite as linhas de comandos como mostra a figura abaixo :


15.36 No evento ue_novo, digite as linhas de comandos como mostra a figura abaixo :



15.37 No evento ue_salvar, digite as linhas de comandos como mostra a figura abaixo :



15.38 Para sair dos eventos (scripts), basta clicar no botão Return, como mostra a figura abaixo :


15.39 Para fechar a window, clique no botão Close, como mostra a figura abaixo :



15.40 Com certeza você não quer perder tudo que digitou, então clique no boão Yes, para que as alterações feitas na window w_produtos sejam gravadas.


15.41 Para conferir se a nossa window w_produtos está funcionando corretamente, vamos acrescentar no menu geral o comando para abertura desta nova window.Então clique no botão Menu da Powerbar, como mostra a figura abaixo :


15.42 Selecione o m_geral e clique no botão OK, como mostra a figura abaixo :



15.43 Clique em Produtos, do menu Cadastro em seguida clique no botão script, Veja a figura abaixo :



15.44 Quando o usuário selecionar a opção Produtos do menu cadastro. Para ter certeza que está no lugar certo, confira a primeira linha na parte superior da figura abaixo : Script - clicked for m_produtos. Se estiver no local certo, digite as 2 linhas de comando que farão a chamada da window w_produtos, como mostra a figura abaixo :



15.45 Mais uma vez, para sair do modo script, clique no botão Return. Veja figura abaixo :


15.46 Grave as alterações feitas no menu m_geral, e vamos executar nosso sistema. Clique no botão Run da PowerBar, como mostra a figura abaixo :


15.47 O que você achou do resultado ????, eu acho que temos a obrigação de tornar a vida dos usuários do nosso sistema um pouco mais fácil. Por exemplo, você acha que ele tem obrigação de lembrar qual é a familia 1 ?, ou ainda qual é o fornecedor 1 ?


15.48 Então vamos facilitar a vida do usuário do sistema, feche o sistema e de volta ao powerbuilder, clique no botão DataWindow. Veja figura abaixo :


15.49 Na janela Select DataWindow, clique no botão New :


15.50 Na janela New DataWindow, em Data Source selecione Quick Select e em Presentation Style selecione Tabular, em seguida clique no botão OK, como mostra a figura abaixo :


15.51 Na janela Quick Select, em Tables clique em familias, em seguida clique no botão Add All e depois no botão OK, como mostra a figura abaixo :


15.52 Vamos fazer algumas alterações nesta nova datawindow. Na figura abaixo você ve a nova datawindow.


15.53 O primeiro passo é exluir os Text Objects Familia e Descricao, que estão acima da linha Header. Veja como deve ficar na figura abaixo :



15.54 Com a seta do mouse sobre a linha Header eliminaremos o espaço que ficou no local onde removemos aos Text Objects, veja as figuras abaixo :




 

15.55 Podemos também almentar o tamanho do Column Object descricao, trocar de lugar descricao e familia clicando e arrastando :


15.56 Pronto, depois deste ajustes clique no botão save, para gravar as alterações feitas nesta nova datawindow. Veja figura abaixo :


15.57 Na jenela Save DataWindow coloque o nome dddw_familias para esta nova DataWindow. O dddw é para lembrar que esta datawindow foi criada, para ser utilizada como DropDownDW, recurso que vereos mais a frente.


15.58 O próximo passo é alterar o column object familia da nossa datawindow produtos. Então vamos lá. Abra a datawindow d_produtos, clique com o botão direito do mouse em cima da column object familia e selecione Porperties, como mostra a figura abaixo :


15.59 Na janela Column Object, em Edit, troque o Style: para DropDownDW, Veja a figura abaixo :


15.60 Ao selecionar DropDownDW em Style, os campos a serem preenchidos em Options também mudam. No campo DataWindow, selecionaremos o objeto datawindow ( dddw_familias ) que será utilizado no formato DropDown. No campo Display Column, selecionaremos a coluna da datawindow dddw_familias que queremos que o nosso usuário veja.No campo DataColumn colocaremos a coluna da datawindow dddw_familias que contem o valor que queremos armazenarna coluna familia da tabela produtos. Em lines in DropDown, colocaremos a quantidade de linhas que devem ser visualizadas por vez na dropdown. Pra finalizar, marque o item Always Show Arow, V Scroll Bar e clique no botão OK. Confira na figura abaixo :


15.61 Veja na figura abaixo o novo visual da coluna familia da datawindow d_produtos :


15.62 Grave as alterações clicando no botão save e vamos a um novo teste. Execute novamente o sistema clicando no botão Run.Veja o resultado na figura abaixo :



Certamente, facilitamos a vida do nosso usuário. Agora ele não precisa mais lembrar o codigo da familia na hora de cadastrar um produto. Ele escolherá a familia do produto pelo nome, e o sistema armazenara apenas o código.