PowerApps: „Fill-in“ Möglichkeit bei Dropdowns

PowerApps: „Fill-in“ Möglichkeit bei Dropdowns

In SharePoint gibt es die Möglichkeit, Auswahllisten (Dropdowns) mit der Option „Fill in“ zu erstellen. Dadurch kann der Benutzer eigene Werte eintragen, wenn der von ihm gewünschte Wert nicht in der Auswahl erscheint.

Beim Erstellen von neuen Einträgen in SharePoint kann der Benutzer nun eigene Werte eingeben, sofern er den passenden nicht in der Auswahl findet:

Leider wird diese Funktionalität von Haus aus in PowerApps nicht unterstützt, d.h. man muss ein bisschen konfigurieren:

Dazu muss die Eigenschaft „Update“ von der DataCard, in der sich die Dropdown befindet, angepasst werden:

If(
    IsBlank(DataCardValue5.Selected),
    {
        '@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
        Id: 0,
        Value: DataCardValue5.SearchText
    },
    DataCardValue5.Selected
)

„DataCardValue5“ ist dabei natürlich der Name unserer DataCard, in dem sich das DropDown-Control befindet.

Dieser Code prüft, ob eine Auswahl aus der Dropdown getroffen wurde, ansonsten wird ein neuer Eintrag auf Basis des „SearchText“ erstellt, und über den „Update„-Event beim Speichern der Form in das SharePoint-Listenelement eingetragen. Da es sich um ein Dropdown-Element handelt, muss hier der ODATA-Typ „SPListExpandedReference“ verwendet werden, mit den beiden bekannten Attributen „Id“ und „Value„.

PowerApps bietet dann beim nächsten Mal auch den neu hinzugefügten Wert in der Dropdown an, sodass dieser nicht erneut eingegeben werden muss.

Sortieren der Auswahl-Liste

Möchte man die Auswahl-Liste noch sortiert haben, muss man die „Items„-Eigenschaft der Dropdown mit der Funktion „SortByColumns“ erweitern:

Prototyping List 2“ ist hierbei unsere SharePoint-Liste, „System2“ der Name der Spalte vom Typ „Choice“ (Dropdown). „Value“ ist die Eigenschaft, nach der sortiert werden soll, diese sollte nicht geändert werden.

Danach werden die Einträge alphabetisch sortiert:

Über den Autor

Volker Kleffmann administrator