Funktionen DataSourceInfo

Gælder for: Lærredapps Modelbaserede apps

Indeholder oplysninger om en datakilde.

Oversigt

Datakilder kan indeholde mange oplysninger, der kan bruges til at optimere brugeroplevelsen.

Du kan bruge oplysninger i kolonner til at validere brugerinput og give øjeblikkelig feedback til brugerne, før de bruger funktionen Patch. Funktionen Validate bruger de samme oplysninger.

Du kan bruge oplysningerne på datakildeniveau, f.eks. til at deaktivere eller skjule knapperne Rediger og Ny for de brugere, der ikke har tilladelse til at redigere og oprette poster.

Det kan variere, hvor mange oplysninger datakilder indeholder, og nogle indeholder ingen oplysninger. Samlinger leverer ikke nogen oplysninger. Hvis der ikke leveres oplysninger, bruges der en standardværdi, eller der returneres tom.

Bemærk

Funktionen DataSourceInfo understøttes i øjeblikket ikke i Microsoft Lister.

Beskrivelse

Kolonneoplysninger

Du kan bruge DataSourceInfo til at hente oplysninger om en bestemt kolonne i en datakilde:

Argument for oplysninger Resultattype Beskrivelse
DataSourceInfo.DisplayName Streng Kolonnens viste navn. Hvis der ikke er defineret et vist navn, returneres kolonnenavnet.
DataSourceInfo.MaxLength Antal Det maksimale antal tegn, kolonnen kan indeholde. Gælder kun for de kolonner, der indeholder strenge. Hvis der ikke er angivet en maksimumværdi, returneres tom.
DataSourceInfo.MaxValue Antal Den højeste numeriske værdi, der kan angives i en kolonne. Gælder kun for de kolonner, der indeholder tal. Hvis der ikke er angivet en maksimumværdi, returneres tom.
DataSourceInfo.MinValue Antal Den laveste numeriske værdi, der kan angives i en kolonne. Gælder kun for de kolonner, der indeholder tal. Hvis der ikke er angivet en minimumværdi, returneres tom.
DataSourceInfo.Required Boolesk Er det påkrævet at angive en værdi i denne kolonne? Hvis denne værdi ikke er angivet af datakilden, returneres falsk.

Det tredje argument er navnet på en kolonne som en streng. Kolonnen Telefon i samlingen Personer vil f.eks. blive overført som "Telefon" inklusive anførselstegnene.

Oplysninger om datakilden

Du kan også bruge DataSourceInfo til at hente oplysninger om selve datakilden:

Argument for oplysninger Resultattype Beskrivelse
DataSourceInfo.AllowedValues Boolesk Hvilke typer tilladelser kan tildeles til brugere af denne datakilde? Hvis denne værdi ikke er angivet af datakilden, returneres tom.
DataSourceInfo.CreatePermission Boolesk Har den aktuelle bruger tilladelse til at oprette poster i datakilden? Hvis denne værdi ikke er angivet af datakilden, returneres sand.
DataSourceInfo.DeletePermission Boolesk Har den aktuelle bruger tilladelse til at slette poster i datakilden? Hvis denne værdi ikke er angivet af datakilden, returneres sand.
DataSourceInfo.EditPermission Boolesk Har den aktuelle bruger tilladelse til at redigere poster i datakilden? Hvis denne værdi ikke er angivet af datakilden, returneres sand.
DataSourceInfo.ReadPermission Boolesk Har den aktuelle bruger tilladelse til at læse poster i datakilden? Hvis denne værdi ikke er angivet af datakilden, returneres sand.

Bemærk

DataSourceInfo returnerer true, hvis den ikke kan afgøre, om den aktuelle bruger har den ønskede tilladelse. Tilladelser kontrolleres igen af serveren, når den faktiske handling angives, og der vises en fejlmeddelelse, hvis den ikke er tilladt. På nuværende tidspunkt er det kun muligt at kontrollere tilladelser med DataSourceInfo, når du bruger Microsoft Dataverse.

Syntaks

DataSourceInfo( DataSource, Information, [ColumnName] )

  • DataSource – påkrævet. Den datakilde, der skal bruges.
  • Information – påkrævet. Den type af oplysninger, du vil hente.
  • ColumnName – påkrævet. Det kolonnenavn, som du skal hente oplysninger på kolonneniveau om. Hvis du vil hente oplysninger om selve datakilden, kan du ikke bruge argumentet ColumnName.

Bemærk

I Power Apps før version 3.24042 blev kolonnenavne angivet med en tekststreng ved hjælp af dobbelte anførselstegn, og hvis de var knyttet til en datakilde, skulle de også være logiske navne. Det logiske navn "cr43e_name" med dobbelte anførselstegn blev f.eks. brugt i stedet for det viste navn Navn uden anførselstegn. For SharePoint- og Excel-datakilder, der indeholder kolonnenavne med mellemrum, blev hvert mellemrum angivet med "_x0020_", f.eks. "Navn på kolonne" som "Navn_x0020_på_x0020_kolonne". Efter denne version blev alle apps automatisk opdateret til den nye syntaks, der er beskrevet i denne artikel.

Eksempler

Eksemplerne i dette afsnit bruger datakilden IceCream:

Icecream-eksempel.

Datakilden har også leveret disse oplysninger:

  • Det viste navn for Mængde er "Salgsklar mængde".
  • Den maksimale længde på Smag er 30 tegn.
  • Kolonnen Smag skal indeholde en værdi. Kolonnen Mængde er ikke påkrævet.
  • Mængde skal mindst være 0.
  • Mængde må højst være 100.
  • Den aktuelle bruger kan læse og redigere posterne i datakilden IsceCream, men brugeren kan ikke oprette nye eller slette eksisterende poster.
Formel Beskrivelse Resultat
DataSourceInfo( IceCream, DataSourceInfo.DisplayName, Quantity ) Returnerer det viste navn for kolonnen Quantity i datakilden IceCream. "Salgsklar mængde"
DataSourceInfo( IceCream, DataSourceInfo.MaxLength, Flavor ) Returnerer den maksimale længde på strengen i kolonnen Flavor i datakilden IceCream. 30
DataSourceInfo( IceCream, DataSourceInfo.Required, Flavor ) Er kolonnen Flavor i datakilden IceCream påkrævet? true
DataSourceInfo( IceCream, DataSourceInfo.Required, Quantity ) Er kolonnen Quantity i datakilden IceCream påkrævet? false
DataSourceInfo( IceCream, DataSourceInfo.MaxValue, Quantity ) Returnerer den maksimale numeriske værdi for kolonnen Quantity i datakilden IceCream. 100
DataSourceInfo( IceCream, DataSourceInfo.MinValue, Quantity ) Returnerer den mindste numeriske værdi for kolonnen Quantity i datakilden IceCream. 0
DataSourceInfo( IceCream, DataSourceInfo.ReadPermission) Kan den aktuelle bruger læse poster i datakilden IceCream? true
DataSourceInfo( IceCream, DataSourceInfo.EditPermission) Kan den aktuelle bruger redigere poster i datakilden IceCream? true
DataSourceInfo( IceCream, DataSourceInfo.CreatePermission) Kan den aktuelle bruger oprette poster i datakilden IceCream? false
DataSourceInfo( IceCream, DataSourceInfo.DeletePermission) Kan den aktuelle bruger slette poster i datakilden IceCream? false