.NET “Binding” com o uniPaaS

Manoel Frederico

 

Desde o lançamento do uniPaaS 1.8 (em Junho/2009), com o advento do client RIA para Windows .NET, temos a possibilidade de incluir controles nativos da biblioteca .NET nas telas das aplicações uniPaaS (programas RIA).

Mais recentemente, com o lançamento do uniPaaS 2.0 (em Julho/2011) e o advento do Deployment Engine (runTime) para Windows .NET, este recurso se estendeu também aos programas On-Line e Batch.

Este é um recurso que muitos desenvolvedores já devem conhecer. Basta definir um campo do tipo .NET, associado à classe do controle desejado:

 

E depois colocar este campo na tela:

 

Está pronto!

Ao executar o programa, o controle estará disponível na tela, para o usuário final:

 

O único “senão” se dá por conta de que estes controles não são nativos do uniPaaS.

Por isso, a única opção para ler ou alterar seu conteúdo é a programação explícita, e isso exige um pouco mais de esforço por parte dos desenvolvedores.

Precisamos recorrer à função DNSet() para alterar as propriedades do objeto:

 

 

e utilizar Event Handlers para detectar alterações que ocorrem no conteúdo destes controles:

 

Com o lançamento do uniPaaS 2.1 (em Maio/2012), um novo recurso chamado .NET Binding foi disponibilizado, e permite-nos vincular controles .NET a campos uniPaaS. Tal qual fazemos com os controles nativos.

Veja como funciona:

Para usar este recurso, precisamos primeiramente definir um Modelo do tipo “GUIDisplay” (e não do tipo “Field”) para o controle .NET:

 

Com isso, duas novas propriedades são habilitadas no Modelo:

Value Property Name

 

 

É uma (de várias) propriedades do objeto .NET que utilizaremos para ler e alterar o conteúdo do controle.

Value Changed Event Name

 

 

É um (de vários) eventos do objeto .NET que utilizaremos para saber quando o seu conteúdo foi alterado.

NOTA: Estas propriedades só podem ser definidas via Modelo GUI Display.

Uma vez que temos o modelo definido, basta associarmos o controle .NET do formulário a ele:

 

e com isso, automaticamente a propriedade “Data” do controle se habilita para escolhermos um campo uniPaaS a vincular a este controle:

Pronto!

Agora, quando ocorre uma alteração no conteúdo do campo uniPaaS, a propriedade definida em “Value Property Name” é utilizada para alterar o conteúdo do controle.

E sempre que o controle disparar o evento definido em “Value Changed Event Name”, esta mesma propriedade é usada para ler o seu conteúdo e atualizar o campo uniPaaS.

Tudo isso automaticamente, sem necessidade de codificarmos explicitamente a sincronização entre os campos uniPaaS e os controles .NET!

E outro detalhe importante: agora os controles .NET nos formulários podem ser vinculados tanto a campos uniPaaS, quanto a campos .NET, como a ambos (simultaneamente):

 

Várias opções de sincronização entre os controles visuais e os dados dos programas estão disponíveis, agora no uniPaaS 2.1.

 

Manoel Frederico Silva
Product Manager & MAGIC Evangelist / Magic Software Brasil

Deixe um comentário

O seu endereço de e-mail não será publicado.