Vincular widgets a dados

O App Maker facilita a conexão da IU do seu app com a vinculação de dados. A vinculação de dados estabelece uma conexão bidirecional entre uma propriedade de widget e uma fonte de dados. Com essa conexão, os widgets acessam e atualizam dados de modelos, relações e outras propriedades do App Maker.

Fontes de dados

As fontes de dados proporcionam aos widgets uma maneira simples de acessar dados. Elas fornecem uma lista de items que representa dados de algum tipo, geralmente registros de modelo de dados ou relações de registro. Elas também têm um item que representa o item atualmente selecionado na lista de items. Os widgets usam a lista para acessar registros, editar relações e muito mais.

Você vê a fonte de dados atual de um widget na propriedade datasource do Editor de propriedade. A fonte de dados é herdada do widget pai, a menos que você atribua outro explicitamente. Além disso, só é possível atribuir fontes de dados dos widgets de layout. Todos os outros tipos herdam as fontes de dados. Portanto, geralmente é útil usar os widgets de layout para agrupar outros de acordo com a lógica e exibição.

Fontes de dados do modelo

O App Maker cria automaticamente uma fonte de dados para cada modelo adicionado. As fontes de dados do modelo são conexões entre widgets em um aplicativo e os dados no servidor. A fonte cria a lista de items a partir de uma consulta enviada ao servidor. Assim, os widgets podem usar essa lista para criar, ler, atualizar e excluir registros do modelo.

Leia mais sobre as fontes de dados do modelo.

Fontes de dados relacionais

As fontes de dados relacionais são uma extensão das fontes do modelo. Com elas, é possível acessar e modificar relações em um modelo selecionado. Elas usam a herança para localizar o registro atualmente selecionado da fonte de dados de um widget pai, além de recuperar uma lista de registros relacionados.

A propriedade items de uma fonte de dados relacional é uma lista de todos os registros referentes ao registro atual do widget pai. O item dela é um registro dessa lista. Como item é um registro, é possível ter uma fonte de dados relacional baseada em outra do mesmo tipo.

Leia mais sobre as fontes de dados relacionais.

Mais fontes de dados

Embora as fontes de dados do modelo e relacionais sejam mais comuns, com o App Maker, é possível usar qualquer propriedade no aplicativo como uma fonte de dados. Por exemplo, use grupos de usuários ou propriedades personalizadas. Para acessar outras fontes de dados, clique em Avançado na parte inferior do pop-up Escolher fonte de dados.

Vinculações

As vinculações são uma conexão bidirecional entre uma propriedade de widget e outra diferente, geralmente uma da fonte de dados desse widget. Por serem bidirecionais, uma alteração em uma propriedade vinculada é refletida na outra. Por exemplo, é possível vincular a propriedade value de uma caixa de texto a um campo EmployeeName em uma fonte de dados do modelo de um aplicativo de integração. Os usuários podem usar a caixa de texto para atualizar os nomes dos funcionários no servidor. Além disso, qualquer alteração em um nome no servidor atualiza automaticamente o texto exibido na caixa.

Adicionar vinculações

Para abrir o seletor de vinculação, clique em Vinculação ao lado de uma propriedade de widget no Editor de propriedades. Em seguida, clique na propriedade. Se Vinculação já estiver visível, basta clicar na propriedade.

Com o seletor de vinculação, você declara caminhos para adicionar vinculações. Eles informam ao App Maker a localização de uma propriedade vinculada em relação ao widget atual. O seletor tem dois modos:

  • Simples: com o seletor de vinculação simples, você lista as propriedades do item atual da fonte de dados e cria automaticamente um caminho com base na seleção. Esse modo é aberto por padrão em qualquer widget com uma fonte de dados quando nenhuma vinculação é configurada ou quando a vinculação definida corresponde à seleção.

  • Avançado: com o seletor de vinculação avançado, é possível vincular qualquer propriedade no app. Use o assistente na parte superior do seletor para gerar um caminho ou escreva um no campo Expressão de vinculação na parte inferior. Para acessar o seletor avançado, clique em Abrir avançado no modo simples. Ele também é aberto por padrão nos widgets sem fontes de dados e, quando uma vinculação definida não corresponde a uma seleção no modo simples nos widgets com fontes de dados. Clique em Menos... para exibir o seletor de vinculação simples.

Expressões de vinculação

A expressão de vinculação é JavaScript e permite executar operações na saída dos caminhos de vinculação. Uma expressão de vinculação simples inclui vários caminhos, mas apenas uma expressão JavaScript. Se você precisa de mais de uma expressão JavaScript, use a expressão de vinculação para chamar um script de cliente e fornecer caminhos como parâmetros.

O App Maker recalcula as expressões de vinculação quando o valor de qualquer caminho nelas é alterado. Essas expressões afetam apenas a forma como os widgets exibem dados e não alteram os dados reais em um caminho de vinculação. Isso significa que não é possível usar expressões de vinculação no campo value dos widgets de entrada. Use os caminhos de vinculação simples.

Amostra de expressão de vinculação: "Hello, " + @user.username + ". My name is " + @widget.name + "."

Projeções

Com as projeções, é possível acessar propriedades de registros na lista de items da fonte de dados. Para acessá-las, use a opção ..projections.. no assistente avançado ou o operador de projeção .. em um caminho de vinculação. Por exemplo, em uma fonte de dados Employees com uma propriedade name, @datasources.Employee.items..name retorna uma lista de todos os nomes dos funcionários.

Propriedades personalizadas

As propriedades personalizadas estão no nível da página e armazenam dados em uma única sessão do usuário. Elas são úteis quando você precisa vincular propriedades de vários widgets a um único valor. Por exemplo, vincule a propriedade visible de vários widgets de menu a uma propriedade personalizada ShowAll booleana. Assim, é possível alternar a visibilidade desses widgets como um grupo.

Para criar propriedades personalizadas, selecione o painel principal de uma página e clique no grupo Propriedades personalizadas no Editor de propriedade. Você acessa as propriedades personalizadas da página atual por meio do seletor de vinculação avançado. Basta usar a opção properties no assistente ou o atalho @properties em uma expressão de vinculação. Para acessar as propriedades personalizadas de uma página diferente, use a opção page no assistente ou o atalho @pages.

Outros recursos

  1. Propriedades e vinculações: veja esses recursos em detalhes e com conceitos.
  2. Fontes de dados: saiba mais sobre as fontes de dados do modelo e relacionais.
  3. Tutorial sobre conexão de modelos de dados: tenha uma experiência prática com fontes de dados relacionais.
  4. API Client – DataSource: veja todas as propriedades e métodos da fonte de dados disponíveis nos scripts do cliente.