Functie DataSourceInfo

Van toepassing op: Canvas-apps Modelgestuurde apps

Biedt informatie over een gegevensbron.

Samenzicht

Gegevensbronnen kunnen een schat aan informatie bieden om de gebruikerservaring te optimaliseren.

U kunt informatie op het niveau van de kolom gebruiken om gebruikersinvoer te valideren en direct feedback te geven aan de gebruiker voordat u de functie Patch gebruikt. De functie Validate maakt gebruik van dezelfde informatie.

U kunt informatie op het niveau van de gegevensbron gebruiken om bijvoorbeeld knoppen Edit en Nieuw uit te schakelen of te verbergen voor gebruikers die geen machtigingen hebben om records te bewerken en te maken.

Gegevensbronnen variëren in de hoeveelheid informatie die ze leveren en soms leveren ze deze informatie helemaal niet. Collections leveren geen informatie. Als een stukje informatie niet is opgegeven, wordt er een standaardwaarde gebruikt of wordt leeg geretourneerd.

Notitie

Momenteel wordt de functie DataSourceInfo niet ondersteund in Microsoft Lijsten.

Omschrijving

Kolomgegevens

U kunt DataSourceInfo gebruiken om informatie op te halen over een bepaalde kolom van een gegevensbron:

Informatieargument Resultaattype Beschrijving
DataSourceInfo.DisplayName Tekenreeks Weergavenaam voor de kolom. Als er geen weergavenaam is gedefinieerd, wordt de naam van de kolom geretourneerd.
DataSourceInfo.MaxLength Getal Maximumaantal tekens dat de kolom kan bevatten. Alleen van toepassing op kolommen met tekenreeksen. Als er geen maximum is ingesteld, wordt leeg geretourneerd.
DataSourceInfo.MaxValue Getal Maximale numerieke waarde die een kolom kan bevatten. Alleen van toepassing op kolommen die getallen bevatten. Als er geen maximum is ingesteld, wordt leeg geretourneerd.
DataSourceInfo.MinValue Getal Minimale numerieke waarde die een kolom kan bevatten. Alleen van toepassing op kolommen die getallen bevatten. Als er geen minimum is ingesteld, wordt leeg geretourneerd.
DataSourceInfo.Required Booleaanse waarde Is er een waarde vereist voor deze kolom? Als het niet is ingesteld door de gegevensbron, wordt false geretourneerd.

Het derde argument is de naam van een kolom als een tekenreeks. Bijvoorbeeld: de kolom Telefoonnummer in de verzameling Mensen wordt doorgegeven als "Telefoonnummer", inclusief de dubbele aanhalingstekens.

Informatie over de gegevensbron

U kunt ook DataSourceInfo gebruiken om informatie over een gegevensbron als geheel op te halen:

Informatieargument Resultaattype Beschrijving
DataSourceInfo.AllowedValues Booleaanse waarde Welke typen machtigingen kunnen aan gebruikers worden verleend voor deze gegevensbron? Als de typen niet zijn ingesteld door de gegevensbron, wordt blank geretourneerd.
DataSourceInfo.CreatePermission Booleaanse waarde Heeft de huidige gebruiker rechten om records te maken in deze gegevensbron? Als het niet is ingesteld door de gegevensbron, wordt true geretourneerd.
DataSourceInfo.DeletePermission Booleaanse waarde Heeft de huidige gebruiker rechten om records te verwijderen in deze gegevensbron? Als het niet is ingesteld door de gegevensbron, wordt true geretourneerd.
DataSourceInfo.EditPermission Booleaanse waarde Heeft de huidige gebruiker rechten om records te bewerken in deze gegevensbron? Als het niet is ingesteld door de gegevensbron, wordt true geretourneerd.
DataSourceInfo.ReadPermission Booleaanse waarde Heeft de huidige gebruiker rechten om records te lezen in deze gegevensbron? Als het niet is ingesteld door de gegevensbron, wordt true geretourneerd.

Notitie

DataSourceInfo retourneert waar als het niet kan bepalen of de huidige gebruiker de gevraagde toestemming heeft. Toestemmingen worden opnieuw gecontroleerd door de server wanneer de daadwerkelijke bewerking wordt uitgevoerd en er wordt een fout weergegeven als dit niet was toegestaan. Op dit moment is het controleren van machtigingen met DataSourceInfo alleen mogelijk bij gebruik van Microsoft Dataverse.

Syntaxis

DataSourceInfo( DataSource, Information [, ColumnName] )

  • DataSource: vereist. De gegevensbron die moet worden gebruikt.
  • Information: vereist. Het type informatie dat u wilt ophalen.
  • ColumnName: optioneel. De kolomnaam waarvoor informatie op kolomniveau moet worden opgehaald. Het argument ColumnName kan niet worden gebruikt voor informatie op het niveau van de gegevensbron.

Notitie

In Power Apps vóór versie 3.24042 werden kolomnamen voor de zoekfunctie Search gespecificeerd met een tekenreeks met dubbele aanhalingstekens, en indien verbonden met een gegevensbron het moesten ook logische namen zijn. Zo werd bijvoorbeeld de logische naam "cr43e_name" met dubbele aanhalingstekens gebruikt in plaats van de weergavenaam Naam zonder aanhalingstekens. Voor SharePoint- en Excel-gegevensbronnen die kolomnamen met spaties bevatten, werd elke spatie gespecificeerd met "_x0020_", bijvoorbeeld "Column Name" als "Column_x0020_Name". Na deze versie werden alle apps automatisch bijgewerkt naar de nieuwe syntaxis die in dit artikel wordt beschreven.

Voorbeelden

Voor de voorbeelden in dit gedeelte wordt de gegevensbron IceCream gebruikt:

Voorbeeld IceCream.

De gegevensbron levert ook deze informatie:

  • De weergavenaam voor Quantity is "Hoeveelheid in voorraad".
  • De maximale lengte van Flavor is 30 tekens.
  • De kolom Flavor moet een waarde bevatten. De kolom Quantity is niet vereist.
  • De minimale Quantity is 0.
  • De maximale Quantity is 100.
  • De huidige gebruiker kan de records van de gegevensbron IceCream lezen en bewerken maar kan geen records maken of verwijderen.
Formule Beschrijving Resultaat
DataSourceInfo( IceCream, DataSourceInfo.DisplayName, Quantity ) Retourneert de weergavenaam voor de kolom Quantity van de gegevensbron IceCream. 'Hoeveelheid in voorraad'
DataSourceInfo( IceCream, DataSourceInfo.MaxLength, Flavor ) Retourneert de maximale lengte van de tekenreeks voor de kolom Flavor van de gegevensbron IceCream. 30
DataSourceInfo( IceCream, DataSourceInfo.Required, Flavor ) Is de kolom Flavor van de gegevensbron IceCream vereist? true
DataSourceInfo( IceCream, DataSourceInfo.Required, Quantity ) Is de kolom Quantity van de gegevensbron IceCream vereist? false
DataSourceInfo( IceCream, DataSourceInfo.MaxValue, Quantity ) Retourneert de maximale numerieke waarde voor de kolom Quantity van de gegevensbron IceCream. 100
DataSourceInfo( IceCream, DataSourceInfo.MinValue, Quantity ) Retourneert de minimale numerieke waarde voor de kolom Quantity van de gegevensbron IceCream. 0
DataSourceInfo( IceCream, DataSourceInfo.ReadPermission) Kan de huidige gebruiker records lezen in de gegevensbron IceCream? true
DataSourceInfo( IceCream, DataSourceInfo.EditPermission) Kan de huidige gebruiker records bewerken in de gegevensbron IceCream? true
DataSourceInfo( IceCream, DataSourceInfo.CreatePermission) Kan de huidige gebruiker records maken in de gegevensbron IceCream? false
DataSourceInfo( IceCream, DataSourceInfo.DeletePermission) Kan de huidige gebruiker records verwijderen van de gegevensbron IceCream? false