Funkcja DataSourceInfo

Dotyczy: aplikacje kanwy aplikacje oparte na modelu

Udostępnia informacje o źródle danych.

Omówienie

Źródła danych mogą udostępniać wiele różnych informacji, które optymalizują środowisko użytkownika.

Dzięki informacjom na poziomie kolumn można sprawdzić poprawność danych wejściowych użytkownika i natychmiast przekazać użytkownikowi informacje zwrotne jeszcze zanim użyje on funkcji Patch. Funkcja Validate korzysta z tych samych informacji.

Informacje z poziomu źródła danych umożliwiają na przykład wyłączenie lub ukrycie przycisków Edytuj i Nowe dla użytkowników, którzy nie mają uprawnień do edytowania ani tworzenia rekordów.

Źródła danych różnią się w zakresie ilości udostępnianych informacji. Czasami nie udostępniają ich w ogóle. Kolekcje nie udostępniają żadnych informacji. Jeśli element informacji nie jest udostępniany, używana jest wartość domyślna albo zwracany jest pusty rekord.

Uwaga

Obecnie funkcja DataSourceInfo nie jest obsługiwana w liście Microsoft Lists.

Opis

Informacje o kolumnie

Za pomocą funkcji DataSourceInfo można uzyskiwać informacje dotyczące konkretnej kolumny źródła danych:

Argument informacji Typ wyniku Opis
DataSourceInfo.DisplayName Ciąg Nazwa wyświetlana kolumny. Jeśli żadna nazwa wyświetlana nie jest zdefiniowana, zwracana jest nazwa kolumny.
DataSourceInfo.MaxLength Numer Maksymalna liczba znaków, jaką może zawierać kolumna. Ma zastosowanie tylko do kolumn zawierających ciągi. Jeśli maksimum nie jest ustawione, zwraca pustą wartość.
DataSourceInfo.MaxValue Numer Maksymalna wartość liczbowa, jaką może zawierać kolumna. Ma zastosowanie tylko do kolumn zawierających liczby. Jeśli maksimum nie jest ustawione, zwraca pustą wartość.
DataSourceInfo.MinValue Numer Minimalna wartość liczbowa, jaką może zawierać kolumna. Ma zastosowanie tylko do kolumn zawierających liczby. Jeśli minimum nie jest ustawione, zwraca pustą wartość.
DataSourceInfo.Required Logiczny Czy wartość jest wymagana dla tej kolumny? Jeśli nie określa tego źródło danych, zwraca wartość false.

Trzeci argument jest nazwą kolumny w postaci ciągu. Na przykład kolumna Telefon w kolekcji Ludzie zostałaby przekazana jako "Telefon", wraz z podwójnymi cudzysłowami.

Informacje o źródle danych

Za pomocą funkcji DataSourceInfo można również uzyskiwać informacje dotyczące całego źródła danych:

Argument informacji Typ wyniku Opis
DataSourceInfo.AllowedValues Logiczny Jakie uprawnienia mogą otrzymać użytkownicy względem tego źródła danych? Jeśli nie określa tego źródło danych, zwraca pustą wartość.
DataSourceInfo.CreatePermission Logiczny Czy bieżący użytkownik ma uprawnienia do tworzenia rekordów w tym źródle danych? Jeśli nie określa tego źródło danych, zwraca wartość true.
DataSourceInfo.DeletePermission Logiczny Czy bieżący użytkownik ma uprawnienia do usuwania rekordów w tym źródle danych? Jeśli nie określa tego źródło danych, zwraca wartość true.
DataSourceInfo.EditPermission Logiczny Czy bieżący użytkownik ma uprawnienia do edytowania rekordów w tym źródle danych? Jeśli nie określa tego źródło danych, zwraca wartość true.
DataSourceInfo.ReadPermission Logiczny Czy bieżący użytkownik ma uprawnienia do odczytu rekordów w tym źródle danych? Jeśli nie określa tego źródło danych, zwraca wartość true.

Uwaga

DataSourceInfo zwraca wartość true, jeśli nie można określić, czy bieżący użytkownik ma wymagane uprawnienia. Uprawnienia będą sprawdzane ponownie przez serwer po uruchomieniu rzeczywistej operacji i wyświetlaniu błędu w przypadku, gdy nie jest to dozwolone. Obecnie sprawdzanie uprawnień przy użyciu funkcji DataSourceInfo jest możliwe tylko podczas korzystania z funkcji Microsoft Dataverse.

Składnia

DataSourceInfo( DataSource, Information, ColumnName )

  • DataSource – wymagane. Źródło danych, które będzie używane.

  • Information – wymagane. Typ informacji, który chcesz uzyskać.

  • ColumnName – opcjonalne. W przypadku informacji na poziomie kolumny nazwa kolumny jako ciąg. Kolumna Telefon zostałaby przekazana jako "Telefon", wraz z podwójnymi cudzysłowami. Jeśli wymagane jest uzyskanie informacji na poziomie źródła danych, argument NazwaKolumny nie może być używany.

    Uwaga

    W przypadku źródeł danych SharePoint i Excel, które zawierają nazwy kolumn ze spacjami, każdą spację należy określać jako "_x0020_".. Na przykład wartość "Nazwa kolumny" należy określić jako "Nazwa_x0020_kolumny".

Przykłady

W przykładach w tej sekcji wykorzystano poniższe źródło danych o nazwie IceCream:

Przykład Icecream.

To źródło danych udostępnia również następujące informacje:

  • Nazwa wyświetlana kolumny Ilość ma wartość „Dostępna ilość”.
  • Maksymalna długość ciągu Flavor wynosi 30 znaków.
  • Kolumna Flavor musi zawierać wartość. Kolumna Ilość nie jest wymagana.
  • Minimalna wartość Ilość wynosi 0.
  • Maksymalna wartość Ilość wynosi 100.
  • Bieżący użytkownik może odczytywać i edytować rekordy źródła danych IceCream, ale nie może tworzyć ani usuwać rekordów.
Wzór Opis Wynik
DataSourceInfo( IceCream, DataSourceInfo.DisplayName, "Quantity" ) Zwraca nazwę wyświetlaną kolumny Ilość źródła danych IceCream. „Ilość rzeczywista”
DataSourceInfo( IceCream, DataSourceInfo.MaxLength, "Flavor" ) Zwraca maksymalną długość ciągu dla kolumny Flavor źródła danych IceCream. 30
DataSourceInfo( IceCream, DataSourceInfo.Required, "Flavor" ) Czy kolumna Flavor źródła danych IceCream jest wymagana? true
DataSourceInfo( IceCream, DataSourceInfo.Required, "Quantity" ) Czy kolumna Ilość źródła danych IceCream jest wymagana? false
DataSourceInfo( IceCream, DataSourceInfo.MaxValue, "Quantity" ) Zwraca maksymalną wartość liczbową kolumny Ilość źródła danych IceCream. 100
DataSourceInfo( IceCream, DataSourceInfo.MinValue, "Quantity" ) Zwraca minimalną wartość liczbową kolumny Ilość źródła danych IceCream. 0
DataSourceInfo( IceCream, DataSourceInfo.ReadPermission) Czy bieżący użytkownik może odczytywać rekordy w źródle danych IceCream? true
DataSourceInfo( IceCream, DataSourceInfo.EditPermission) Czy bieżący użytkownik może edytować rekordy w źródle danych IceCream? true
DataSourceInfo( IceCream, DataSourceInfo.CreatePermission) Czy bieżący użytkownik może tworzyć rekordy w źródle danych IceCream? false
DataSourceInfo( IceCream, DataSourceInfo.DeletePermission) Czy bieżący użytkownik może usuwać rekordy w źródle danych IceCream? false