|
|
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.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.26 Vamos declara uma Instance Variable. Para isso no menu Declare, clique no item Instance Variables...
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.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.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.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.
|