Este exemplo irá descrever como criar uma árvore com elementos do banco de dados.
Para este exemplo, foram criadas duas tabelas Estado contendo os campos: codigouf e Nome do Estado, e Cidade com os campos: Código e Nome da Cidade.
Utilizando o Assistente de criação de formulários, defina o nome para o formulário e defina a Fonte de Dados Cidade:
O formulário criado conterá um fluxo. Para facilitar o entendimento, o fluxo ficará da seguinte forma:
Criando um Novo Fluxo, salve com o Destino Cliente. Defina o Parâmetro de Entrada, clicando em :
Defina os Identificadores:
Coloque um para criação da árvore. No Montador de Expressão, na aba Fluxos e Funções, localize a função Árvore - Criar Árvore:
Coloque um para passar os estados. Mas, antes de inserir o Subfluxo será criado um novo fluxo para guardar os Estados. Clique em
, e crie o novo fluxo. Salve-o com o Destino Servidor. O fluxo ficará da seguinte forma:
Defina os Identificadores:
Coloque um para criar uma lista de Estados. No Montador de Expressão na aba Fluxos e Funções, localize as funções Se, É Nulo, Campo, Abrir Consulta e Tabela para lista:
Na SQL CONSULTA, clique em . Abrirá a tela Assistente SQL e localize a tabela ESTADO. Selecione todos os campos da tabela e confirme. Na função Campo, selecione o campo codigouf da tabela Estado. A outra função Abrir Consulta possui a mesma seleção feita na SQL CONSULTA anterior.
Clique em para informar o Parâmetro de Retorno. No Montador de Expressão, selecione o Identificador (Estado) criado neste fluxo:
Voltando ao fluxo principal, coloque agora o para passar os estados. Ao clique duplo em
abrirá a tela abaixo. Nessa tela, é necessário selecionar o fluxo criado (Obter Estados) e o Identificador ao qual será atribuído o retorno do subfluxo (Estado):
Coloque uma para comparar a quantidade de estado se é menor ou igual a tabela da lista. No Montador de Expressão, na aba Fluxos e Funções, localize as funções Menor ou Igual e Tamanho da Lista:
Coloque um para guardar o código do estado. No Montador de Expressão, na aba Fluxos e Funções, localize as funções Para Inteiro, Obter Objeto da Lista, Quebrar Texto e Para Letras Obter da Lista:
Coloque um para inserir o Estado na árvore. No Montador de Expressão, na aba Fluxos e Funções, localize as funções Árvore - Adicionar Filho, Árvore - Obter Raiz da Árvore, Para Letras, Obter Objeto da Lista e Quebrar Texto:
Coloque outro para passar as Cidades. Mas, antes de inserir o Subfluxo, será criado um outro novo fluxo para guardar as Cidades. Clique em
, na aba Formulário e crie o fluxo. Salve-o com o Destino Servidor. O fluxo ficará da seguinte forma:
Defina o Parâmetro de Entrada, clicando em :
Defina os Identificadores:
Coloque um para criar uma lista de Cidades. No Montador de Expressão, na aba Fluxos e Funções, localize as funções Se, Existem Registros, Abrir Consulta e Tabela para lista:
Na SQL CONSULTA, clique em . Abrirá a tela Assistente SQL e localize a tabela CIDADE:
Clique em associar ao Critério criado:
Observação: A outra função Abrir Consulta possui a mesma seleção feita na SQL CONSULTA anterior.
Clique em para informar o Parâmetro de Retorno. No Montador de Expressão selecione o Identificador (Cidade) criado nesse fluxo:
Voltando ao fluxo principal, coloque agora o para passar às Cidades. Ao clique duplo, em
abrirá a tela abaixo. Nesta tela, é necessário selecionar o fluxo criado (Obter Cidade) e o Identificador o qual será atribuído o retorno do subfluxo (Cidade):
Coloque uma para comparar a quantidade de cidade se é menor ou igual a tabela da lista. No Montador de Expressão, na aba Fluxos e Funções, localize as funções Menor ou Igual e Tamanho da Lista:
Coloque 1 para inserir a Cidade na árvore. No Montador de Expressão, na aba Fluxos e Funções, localize as funções Árvore - Adicionar Filho, Para Letras e Obter Objeto da lista:
Coloque um para acrescentar mais 1 ao campo QtdCidade. No Montador de Expressão, na aba Fluxos e Funções, localize a função Soma:
Coloque um para modificar a quantidade do campo QtdCidade. No Montador de Expressão, selecione o campo Letra na tela Propriedade e atribua o valor 1:
Associe este ao componente
com a saída NÃO.
Coloque um para acrescentar mais 1 ao campo QtdEstados. No Montador de Expressão, na aba Fluxos e Funções, localize a função Soma:
Observe que no fluxo principal existe dois loops:
O Resultado no Webrun:
____________________________________________________________________________
Caso este tópico não tenha comentário satisfatório, envie e-mail para documentacao@softwell.com.br