Iniciar uma conversa

Mestre/Detalhe - Avançado

Neste exemplo será desenvolvido uma aplicação mestre/detalhe completa. Para construir esta aplicação serão criados dois formulários. O primeiro baseado na tabela orders (Mestre) e o segundo na tabela orders_details (Detalhe).

Criando o formulário Mestre:

1. Crie uma nova aplicação do tipo formulário simples baseado na tabela orders.

2. No menu de aplicação acesse o item Posicionamento dos campos.

 

3. Remova os seguintes campos: ShipVia, ShipRegion e ShipPostalCode.

4. No menu de aplicação acesse a opção Layout e clique no item Blocks:

 

5. Altere o nome e o label do bloco existente para General Info.

6. Clique no botão Criar Novo Bloco.

7. Informe para as propriedades Nome e Label o valor Ship Info

 

8. Clique novamente no botão Criar Novo Bloco.

9. Informe para as propriedades Nome e Label o valor Order Details.

10. Edite as propriedades dos blocos criados de acordo com a imagem exibida abaixo:

 

11. No menu de aplicação acesse o item Select Fields e organize os campos de acordo com a tabela abaixo:

Block Field
General Info OrderID
CustomerID
EmplyeeID
OrderDate
RequiredDate
PriceOrder
Ship Info ShippedDate
ShipAdress
Freight
ShipCity
ShipState
ShipCountry
Order Details  

 

Criando o formulário detalhe:

12. Crie uma novo formulário do tipo Editable grid view baseada na tabela order_details.

 

13. No menu da aplicação, clique no item Posicionamento dos Campos.

 

14. Remova os campos OrderDetailsID e OrderID.

 

15. No menu de aplicação acesse a opção Campos e clique no campo ProductID.

16. Altere a propriedade Tipo do Dado para Select.

17. Ainda no campo ProductID acesse a guia de edição Lookup de Edição.

 

18. Na propriedade Comando SQL insira o seguinte comando:

SELECT ProductID, ProductName
FROM products
ORDER BY ProductID

19. Altere a propriedade Allow negative value para Yes.

20. Ainda na opção Campos do menu de aplicação clique sobre o item Novo Campo.

 

21. Na quantidade de campos informe 1 e clique no botão Next.

22. Na propriedade Tipo selecione Decimal e nas propriedades Nome e Label informe Total. Em seguida clique no botão Criar.

 

Criando métodos para o formulário detalhe

23. No menu de aplicação acesse a pasta Programação->Métodos PHP.

 

24. Crie um novo metodo chamado calculate_total.

25. Insira o seguinte código para o metodo criado:

 

26. Crie um novo metodo chamado check_stock.

27. Insira o seguinte código para o método criado:

 

28. Crie outro método chamado update_master.

29. Insira o seguinte código para o método criado:

 

Criando eventos Ajax para o formulário detalhe:

30. No menu de aplicação acesse a opção Eventos Ajax.

31. Clique no item Novo Evento Ajax.

32. Na propriedade Escolha o Campo para criar um evento selecione o campo Discount e na propriedade Escolha o Evento no qual deseja executar o Ajax selecione o evento onChange. Clique no botão Criar Evento para finalizar.

33. No editor de código do evento faça uma chamada ao metodo calculate_total.

34. Crie um novo evento Ajax para o campo ProductID no evento onChange .

35. Insira o código exibido na imagem abaixo:

36. Crie um novo evento Ajax para o campo Quantity no evento onChange.

37. Insira o código exibido na imagem abaixo:

38. Crie um novo evento Ajax para o campo UnitPrice no evento onChange.

39. No editor de código do evento faça uma chamada ao metodo calculate_total.

Fazendo chamada dos métodos criados nos eventos do Formulário:

40. Acesse a pasta Eventos, no menu da aplicação (veja a imagem abaixo). Assim como foi feito para os eventos dos campos, nós iremos fazer as chamadas dos métodos nos eventos do formulário. Na tabela abaixo está a relação dos metodos que devem ser chamados em cada evento.

Evento Código
onBeforeInsert check_stock();
onAfterInsert update_master();
onBeforeUpdate check_stock();
onAfterUpdate update_master();
onAfterDelete update_master();
onLoadRecord check_stock();

41. Gere o código fonte do formulário detalhe. Para isto clique no botão Gerarna barra de ferramentas do ScriptCase.

Criando a ligação entre o formulário Mestre e o Detalhe:

42. Volte para o formulário Mestre clicando sobre a aba de aplicações.

43. No menu da aplicação acesse a opção Mestre/Detalhes e clique no item Novo Mestre/Detalhe

44. Nas propriedades Nome e Label informe Details.

45. Para iniciar o Wizard de ligação clique sobre o botão Criar.

46. Selecione o formulário detalhe e clique no botão Prosseguir.

47. Na próxima etapa do wizard faça a ligação relacionando os campos OrderID dos dois formulários. Para finalizar clique no botão Salvar.

Escolher arquivos ou arraste e solte arquivos
Esse artigo foi útil?
Sim
Não
  1. Ronyan Alves

  2. Publicado
  3. Atualizado

Comentários