terça-feira, 25 de março de 2014

RowsToTabs

Há um ano atras apresentamos aqui no Genexando uma forma de aproveitar o modelo de abas gerado pela aplicação do Pattern Work With em uma transação em outros objetos (Interface com Abas) . De fato esse recurso sempre foi necessário e o modelo que propusemos era 'meio facil' e útil. Interessante que na mesma época um novo UserControl surgiu no Genexus Market Place, que eu acredito que tem potencial suficiente para atender a grande maioria das interfaces que utilizam as tais abas (transações, webpanels, webcomponents), sem a complexidade do componente do Pattern.

Então, nada mais justo que apresentar esse controle, produzido pelo S2b-Group e distribuído gratuitamente para a comunidade. Fiz o teste no Genexus Evolution 2 e resultado foi excelente, muito simples de utilizar.

Como Funciona

Após baixar (RowsToTabs) e instalar o controle no Genexus, o mesmo é apresentado no toolbox com o mesmo nome podendo ser arrastado para o WebForm de uma transação ou WebPanel.

Melhor se jogar o controle dentro de uma tabela com várias linhas, o segredo está em colocar um nome em cada Row (linha) da tabela, que conterá os conteúdos a serem divididos nas abas:


Em seguida em cada linha incluir as informações que se deseja dividir em abas. No meu caso na primeira Row inclui um Grid, na segunda e terceira dois webcomponents.  Lembrando que cada Row deve ter um nome distinto.


Para programar o controle é necessário:

1. Criar uma variável Character(40) e marcando-a como Collection

2. No evento Start programar o conteúdo desta variável, sendo que cada Add()deve incluir uma das linhas que foram renomeadas anteriormente, e em seguida o nome que se deseja que apareça na aba do controle.

3. Na propriedade Tab Pages do controle incluir a variável collection que representa as abas (&TabPage).


O resultado

A interface apresenta um controle bem interessante de agrupamento de informações.


A configuração das cores pode ser feita no arquivo style.css que se encontra na pasta RowsToTabs na pasta web da aplicação.


O que falta

Não tenho criticas quanto ao controle, pois acredito que sua funcionalidade já supera as expectativas, mas creio que pra ficar melhor somente falta neste controle um tratamento de runtime, do tipo um evento que ao clicar em uma determinada aba se dispare um evento que possamos programar. Que possa, por exemplo, possibilitar que definamos o o conteúdo dos webcomponents.



Para saber mais:


  • http://marketplace.genexus.com/product.aspx?rowstotabs,pt
  • http://wiki.genexus.com/commwiki/servlet/hwiki?RowsToTabs+User+Control,