DataSourceInfo-funksjonen

Gjelder: Lerretsapper Modelldrevne apper

Returnerer informasjon om en datakilde.

Oversikt

Datakilder kan gi mye informasjon for å optimalisere brukeropplevelsen.

Du kan bruke informasjon på kolonne-nivået til å validere inndata fra brukerne og gi umiddelbare tilbakemelding til brukeren før du bruker Patch-funksjonen. Validate-funksjonen bruker den samme informasjonen.

Du kan bruke informasjon på datakilde-nivå, for eksempel for å deaktivere eller skjule Rediger- og Ny-knapper for brukere som ikke har tillatelse til å redigere og opprette poster.

Det varierer hvor mye informasjon datakildene leverer, og det kan forekomme at de ikke leverer noe. Samlinger gir ingen informasjon. Hvis informasjonen ikke er angitt, brukes standard, eller tom returneres.

Merk

DataSourceInfo-funksjonen støttes for øyeblikket ikke i Microsoft Lister.

Beskrivelse

Kolonneinformasjon

Du kan bruke DataSourceInfo til å få informasjon om en bestemt kolonne for en datakilde:

Informasjonsargument Resultattype Beskrivelse
DataSourceInfo.DisplayName Streng Visningsnavn for kolonnen. Hvis ingen visningsnavn er definert, returneres navnet på kolonnen.
DataSourceInfo.MaxLength Antall Maksimalt antall tegn som kan registreres. Gjelder bare kolonner som inneholder strenger. Hvis et maksimum ikke er angitt, returneres tom.
DataSourceInfo.MaxValue Antall Maksimal numerisk verdi som en kolonne kan inneholde. Gjelder bare kolonner som inneholder tall. Hvis et maksimum ikke er angitt, returneres tom.
DataSourceInfo.MinValue Antall Maksimal numerisk verdi som en kolonne kan inneholde. Gjelder bare kolonner som inneholder tall. Hvis et maksimum ikke er angitt, returneres tom.
DataSourceInfo.Required Boolsk Er en verdi påkrevd for denne kolonnen? Hvis det ikke er angitt av datakilden, returneres usann.

Det tredje argumentet er navnet på en kolonne som en streng. Kolonnen Telefon i samlingen Personer ville for eksempel ha blitt sendt som "Telefon", inklusive doble anførselstegn.

Datakilde-informasjon

Du kan bruke DataSourceInfo til å få informasjon om en bestemt kolonne for en datakilde:

Informasjonsargument Resultattype Beskrivelse
DataSourceInfo.AllowedValues Boolsk Hvilke typer tillatelser kan brukere gis for denne datakilden? Hvis det ikke er angitt av datakilden, returneres tom.
DataSourceInfo.CreatePermission Boolsk Har den gjeldende brukeren tillatelse til å opprette poster i denne datakilden? Hvis det ikke er angitt av datakilden, returneres sann.
DataSourceInfo.DeletePermission Boolsk Har den gjeldende brukeren tillatelse til å slette poster i denne datakilden? Hvis det ikke er angitt av datakilden, returneres sann.
DataSourceInfo.EditPermission Boolsk Har den gjeldende brukeren tillatelse til å endre poster i denne datakilden? Hvis det ikke er angitt av datakilden, returneres sann.
DataSourceInfo.ReadPermission Boolsk Har den gjeldende brukeren tillatelse til å lese poster i denne datakilden? Hvis det ikke er angitt av datakilden, returneres true.

Merk

DataSourceInfo returnerer sann hvis den ikke kan avgjøre om gjeldende bruker har den forespurte tillatelsen. Tillatelser kontrolleres på nytt av serveren når den faktiske operasjonen utføres, og det vises en feil hvis den ikke var tillatt. Tillatelser som kontrollerer med DataSourceInfo, er for øyeblikket bare mulig når du bruker Microsoft Dataverse.

Syntaks

DataSourceInfo( DataSource, Information [, ColumnName] )

  • DataSource – obligatorisk. Datakilden som skal oppdateres.
  • Information – obligatorisk. Typen informasjon som du vil hente.
  • ColumnName – valgfritt. Kolonnenavnet som kolonnenivåinformasjon skal hentes fra. ColumnName-argumentet kan ikke brukes for informasjon på datakilde-nivå.

Merk

I Power Apps før versjon 3.24042 ble kolonnenavn angitt med en tekststreng med doble anførselstegn, og hvis de var koblet til et datakilde, måtte de også være logiske navn. Det logiske navnet cr43e_name med doble anførselstegn ble brukt i stedet for visningsnavn Navn uten anførselstegn. For SharePoint- og Excel-datakilder som inneholder kolonnenavn med mellomrom, ble hvert mellomrom angitt med "_x0020_", for eksempel "Kolonnenavn" som "Column_x0020_Name". Etter denne versjonen ble alle apper automatisk oppdatert til den nye syntaksen beskrevet i denne artikkelen.

Eksempler

Eksemplene i denne delen bruker denne datakilden, kalt IceCream:

Icecream-eksempel.

Datakilden har også gitt deg denne informasjonen:

  • Visningsnavnet for Quantity er "Quantity on Hand".
  • Den maksimale lengden på Flavor er 30 tegn.
  • Flavor-kolonnen må inneholde en verdi. Quantity-kolonnen er ikke påkrevd.
  • Minimum for Quantity er 0.
  • Maksimum for Quantity er 100.
  • Den gjeldende brukeren kan lese og redigere postene i datakilden IceCream, men kan ikke opprette eller slette poster.
Formel Beskrivelse Resultat
DataSourceInfo( IceCream, DataSourceInfo.DisplayName, Quantity ) Returnerer visningsnavnet for Quantity-kolonnen i datakilden IceCream. "Quantity on Hand"
DataSourceInfo( IceCream, DataSourceInfo.MaxLength, Flavor ) Returnerer den maksimale lengden på strengen for Flavor-kolonnen i datakilden IceCream. 30
DataSourceInfo( IceCream, DataSourceInfo.Required, Flavor ) Er Flavor-kolonnen i datakilden IceCream påkrevd? true
DataSourceInfo( IceCream, DataSourceInfo.Required, Quantity ) Er Quantity-kolonnen i datakilden IceCream påkrevd? usann
DataSourceInfo( IceCream, DataSourceInfo.MaxValue, Quantity ) Returnerer den numeriske maksimalverdien for Quantity-kolonnen i datakilden IceCream. 100
DataSourceInfo( IceCream, DataSourceInfo.MinValue, Quantity ) Returnerer den numeriske minumumsverdien for Quantity-kolonnen i datakilden IceCream. 0
DataSourceInfo( IceCream, DataSourceInfo.ReadPermission) Kan den gjeldende brukeren lese poster i datakilden IceCream? true
DataSourceInfo( IceCream, DataSourceInfo.EditPermission) Kan den gjeldende brukeren endre poster i datakilden IceCream? true
DataSourceInfo( IceCream, DataSourceInfo.CreatePermission) Kan den gjeldende brukeren opprette poster i datakilden IceCream? false
DataSourceInfo( IceCream, DataSourceInfo.DeletePermission) Kan den gjeldende brukeren slette poster i datakilden IceCream? false