sexta-feira, 31 de dezembro de 2010

Controle sobre os Controles da Interface

Esse titulo é um tanto quanto estranho, mas serve bem ao propósito deste POST, as vésperas de um novo ano, espero que com muitos POSTS.

O objetivo aqui é como podemos ajustar a interface Genexus, de forma que a própria ferramenta gere para nós uma interface interessante, sem que tenhamos que alterar formulário por formulário, muitas vezes perdendo a automação automática.   E uma característica conhecida nas interfaces Genexus é que se ao se definir alguma coisa na estrutura da transação, todo o sistema será afetado por essa modificação.  E isso ocorre com praticamente tudo, exceto a seleção do tipo de controle da interface web.

Ao se definir qualquer controle diferente de EDIT na estrutura de uma transação para um atributo do tipo chave primária, essa definição não afetará a interface da própria transação, mas todas as demais que utilizam esse atributo.  Por exemplo, na transação Pais, definimos na estrutura da transação, para o PaisId, o tipo EDIT com Description. 

Na imagem a seguir é possivel visualizar o controle EDIT com Description selecionado para PaisId, e o resultado na interface.
No entanto, na interface de cadastro de Paises, não ocorre alteração no controle de entrada de PaisId, e o mesmo continua como um EDIT simples. Já na interface de Clientes, o controle de PaisId passa a ser do tipo EDIT com Description.
Quanto a utilização em GRID, ocorre que PaisId também é apresentado em forma de EDIT com Description, não sendo portanto necessário apresentar PaisNome.  Mas atenção, PaisNome tem que constar no GRID para que a informação apareça corretamente (Visible=false, resolve a questão).

Com isso é possível usar os recursos do próprio Genexus para obter soluções interessantes com nenhum  esforço, ainda mais nesse período de festas, pois, temos outras coisas mais importantes pra fazer!.