Função DataSourceInfo

Aplica-se a: Aplicativos de tela Aplicativos baseados em modelo

Fornece informações sobre uma fonte de dados.

Visão geral

As fontes de dados podem fornecer uma infinidade de informações para otimizar a experiência do usuário.

Você pode usar as informações no nível da coluna para validar a entrada do usuário e fornecer comentários imediatos ao usuário antes de usar a função Patch. A função Validate usa essas mesmas informações.

Você pode usar informações no nível de fonte de dados, por exemplo, para desabilitar ou ocultar os botões Editar e Novo para usuários que não tenham permissões para editar nem criar registros.

O volume de informações fornecidas pelas fontes de dados varia, incluindo não fornecer informação alguma. Coleções não fornecem informações. Se parte das informações não for fornecida, serão usadas as opções padrão, ou em branco será retornado.

Nota

Atualmente, a função DataSourceInfo não é compatível com a Lista da Microsoft.

Descrição

Informações da coluna

Você pode usar o DataSourceInfo para obter informações sobre uma determinada coluna de uma fonte de dados:

Argumento de Informações Tipo de Resultado Descrição
DataSourceInfo.DisplayName Cadeia de Caracteres Nome de exibição para a coluna. Se nenhum nome de exibição for definido, o nome da coluna será retornado.
DataSourceInfo.MaxLength Número Número máximo de caracteres que a coluna pode conter. Aplica-se somente às colunas que contêm cadeias de caracteres. Se um máximo não for definido, em branco será retornado.
DataSourceInfo.MaxValue Número Valor numérico máximo que uma coluna pode conter. Aplica-se somente às colunas que contêm números. Se um máximo não for definido, em branco será retornado.
DataSourceInfo.MinValue Número Valor numérico mínimo que uma coluna pode conter. Aplica-se somente às colunas que contêm números. Se um mínimo não for definido, em branco será retornado.
DataSourceInfo.Required Booliano Esta coluna exige um valor específico? Se não for definido pela fonte de dados, falso será retornado.

O terceiro argumento é o nome de uma coluna como uma cadeia de caracteres. Por exemplo, a coluna Phone na coleção People seria nomeada como "Phone" com aspas duplas.

Informações da fonte de dados

Você também pode usar o DataSourceInfo para obter informações sobre uma fonte de dados como um todo:

Argumento de Informações Tipo de Resultado Descrição
DataSourceInfo.AllowedValues Booliano Quais tipos de permissões podem ser concedidos aos usuários nessa fonte de dados? Se isso não for definido pela fonte de dados, em branco será retornado.
DataSourceInfo.CreatePermission Booliano O usuário atual tem permissão para criar registros nessa fonte de dados? Se não definido pela fonte de dados, true será retornado.
DataSourceInfo.DeletePermission Booliano O usuário atual tem permissão para excluir registros nesta fonte de dados? Se não definido pela fonte de dados, true será retornado.
DataSourceInfo.EditPermission Booliano O usuário atual tem permissão para editar os registros nesta fonte de dados? Se não definido pela fonte de dados, true será retornado.
DataSourceInfo.ReadPermission Booliano O usuário atual tem permissão para ler registros nesta fonte de dados? Se não definido pela fonte de dados, true será retornado.

Nota

DataSourceInfo retorna verdadeiro se não puder determinar se o usuário atual tem a permissão solicitada. As permissões serão verificadas novamente pelo servidor quando a operação real for realizada, e um erro será exibido se não houver permissão. Neste momento, a verificação de permissões com DataSourceInfo só é possível quando se usa o Microsoft Dataverse.

Sintaxe

DataSourceInfo( DataSource, Informações, ColumnName )

  • DataSource - obrigatório. A fonte de dados a ser usada.

  • Informações - obrigatório. O tipo de informações que você deseja recuperar.

  • ColumnName - opcional. Para informações no nível de coluna, o nome da coluna como uma cadeia de caracteres. A coluna Phone seria passada como "Phone", incluindo as aspas duplas. Para obter informações no nível de fonte de dados, o argumento ColumnName não pode ser usado.

    Nota

    Nas fontes de dados do Excel e do SharePoint que contêm nomes de colunas com espaços, especifique cada espaço como "_x0020_". Por exemplo, especifique "Nome da Coluna" como "Nome_x0020_da_x0020_Coluna".

Exemplos

Os exemplos nesta seção usam esta fonte de dados, chamada IceCream:

Exemplo Sorvete.

A fonte de dados também fornece estas informações:

  • O nome de exibição em Quantidade é "Quantity on Hand".
  • O comprimento máximo de Sabor é de 30 caracteres.
  • A coluna Sabor deve conter um valor. A coluna Quantidade não é necessária.
  • O valor mínimo para Quantidade é 0.
  • O valor máximo para Quantidade é 100.
  • O usuário atual pode ler e editar os registros da fonte de dados IceCream, mas não pode criar nem excluir registros.
Fórmula Descrição Resultado
DataSourceInfo( IceCream, DataSourceInfo.DisplayName, "Quantity" ) Retorna o nome de exibição da coluna Quantidade da fonte de dados IceCream. "Quantity on Hand"
DataSourceInfo( IceCream, DataSourceInfo.MaxLength, "Flavor" ) Retorna o comprimento máximo da cadeia de caracteres da coluna Sabor da fonte de dados IceCream. 30
DataSourceInfo( IceCream, DataSourceInfo.Required, "Flavor" ) A coluna Sabor da fonte de dados IceCream é necessária? true
DataSourceInfo( IceCream, DataSourceInfo.Required, "Quantity" ) A coluna Quantidade da fonte de dados IceCream é necessária? false
DataSourceInfo( IceCream, DataSourceInfo.MaxValue, "Quantity" ) Retorna o valor numérico máximo para a coluna Quantidade da fonte de dados IceCream. 100
DataSourceInfo( IceCream, DataSourceInfo.MinValue, "Quantity" ) Retorna o valor numérico mínimo para a coluna Quantidade da fonte de dados IceCream. 0
DataSourceInfo( IceCream, DataSourceInfo.ReadPermission) O usuário atual tem permissão para ler registros da fonte de dados IceCream? true
DataSourceInfo( IceCream, DataSourceInfo.EditPermission) O usuário atual tem permissão para editar registros na fonte de dados IceCream? true
DataSourceInfo( IceCream, DataSourceInfo.CreatePermission) O usuário atual tem permissão para criar registros na fonte de dados IceCream? false
DataSourceInfo( IceCream, DataSourceInfo.DeletePermission) O usuário atual tem permissão para excluir registros da fonte de dados IceCream? false