Nesta terceira parte sobre o assunto Genexus SDTs, iremos aprender um pouco sobre como apresentar os SDTs em Web Panels.
A Parte I - criação deste tipo de dado, e a Parte II - inserção de valores nos darão a base para esta continuidade.
Porém para ampliar a nossa percepção de utilidade deste tipo de dado (SDT), irei utilizar um novo exemplo, ao fim do nosso exercício iremos ter um formulário semelhante a este:
Primeiramente iremos criar o Objeto SDT, que será o nosso Grid da tela, semelhante a este:
Após iremos inserir as variáveis que iremos utilizar para desevolver este formulário:
OK, após adicionar as nossas variáveis, iremos criar a tela, neste exemplo foram inseridos 3 botões, Retornar para retornar para a página anterior, Avançar para avançar para a próxima página do formulário e Adicionar Linha para adicionarmos uma nova linha ao nosso Grid SDT.
Para inserirmos as variáveis SDTs na tela, na Toolbox clicamos em "Attribute/Variables" e arrastamos até a célula que desejamos. Ao arrastar, o Genexus irá abrir uma tela com os atributos e variáveis disponíveis, neste caso clicamos sobre a variável "SDT_Projeto", a variável principal do SDT criado.
Ao clicar sobre esta variável irá abrir a seguinte tela:
Os itens em azuis são aqueles que queremos inserir, clicamos em todos, o check box "ReadOnly" só iremos marcar quando desejamos deixar as variáveis como desabilitadas, e o checkbox "Free Style Grid" só será marcado caso desejamos substituir o Grid em linha pelo Grid Free Style.
Ao clicar em OK, o SDT será inserido na nossa WebPanel, agora podemos controlar a exclusão e adição de linhas ao nosso grid apresentado.
Para inserir o botão de excluir linha (primeiro a esquerda na imagem), clicamos com o botão direito sobre o Grid e após em "Columns..". Com a tela Arrange Columns aparecendo, iremos selecionar a opção "Add", e selecionar a nossa variável "excluir" (Bitmap). Após a adição da variável ao Grid, precisamos escrever os seguintes códigos:
Inserção de Imagem, Tooltip e um comando javascript de confirmação (este comando será executado ao clicar sobre a variável):
No evento Start:
Inserção do código de exclusão de linha.
Para finalizar precisamos inserir o código para o Grid iniciar default contendo uma linha, e a opção de adicionar novas.
Observação: os objetos WebPanels não recebem SDTs como parâmetro, para isto é necessário utilizar o método WebSession através dos comandos ToXML() e FromXML(), ou ToJson() e FromJson().
No evento Start:
Inserir nova linha ao Grid:
Após iremos inserir as variáveis que iremos utilizar para desevolver este formulário:
OK, após adicionar as nossas variáveis, iremos criar a tela, neste exemplo foram inseridos 3 botões, Retornar para retornar para a página anterior, Avançar para avançar para a próxima página do formulário e Adicionar Linha para adicionarmos uma nova linha ao nosso Grid SDT.
Para inserirmos as variáveis SDTs na tela, na Toolbox clicamos em "Attribute/Variables" e arrastamos até a célula que desejamos. Ao arrastar, o Genexus irá abrir uma tela com os atributos e variáveis disponíveis, neste caso clicamos sobre a variável "SDT_Projeto", a variável principal do SDT criado.
Ao clicar sobre esta variável irá abrir a seguinte tela:
Os itens em azuis são aqueles que queremos inserir, clicamos em todos, o check box "ReadOnly" só iremos marcar quando desejamos deixar as variáveis como desabilitadas, e o checkbox "Free Style Grid" só será marcado caso desejamos substituir o Grid em linha pelo Grid Free Style.
Ao clicar em OK, o SDT será inserido na nossa WebPanel, agora podemos controlar a exclusão e adição de linhas ao nosso grid apresentado.
Para inserir o botão de excluir linha (primeiro a esquerda na imagem), clicamos com o botão direito sobre o Grid e após em "Columns..". Com a tela Arrange Columns aparecendo, iremos selecionar a opção "Add", e selecionar a nossa variável "excluir" (Bitmap). Após a adição da variável ao Grid, precisamos escrever os seguintes códigos:
Inserção de Imagem, Tooltip e um comando javascript de confirmação (este comando será executado ao clicar sobre a variável):
No evento Start:
Inserção do código de exclusão de linha.
Para finalizar precisamos inserir o código para o Grid iniciar default contendo uma linha, e a opção de adicionar novas.
Observação: os objetos WebPanels não recebem SDTs como parâmetro, para isto é necessário utilizar o método WebSession através dos comandos ToXML() e FromXML(), ou ToJson() e FromJson().
No evento Start:
Inserir nova linha ao Grid:
Para finalizar, procurem sempre salvar este SDT em sessões (WebSession) ao clicar nos botões "Avançar" e "Retornar".
Gracias amigo!!!! me solucionaste varias horas de renegar con esto.
ResponderExcluirSaludos
Por favor, como faço para inserir um prompt em uma grid com SDT em um webpanel?
ResponderExcluir