Favoriten in einer PowerApp anlegen [Low Code]
- marcel684
- 21. Feb. 2021
- 3 Min. Lesezeit
Aktualisiert: 31. Mai
đĄ Hinweis in eigener Sache
Du willst Power Apps & Power Automate von Grund auf lernen? In meinem Onlinekurs âLisaâs Challenge â Zeiterfassung mit Power Apps & Automateâ begleite ich dich Schritt fĂŒr Schritt beim Aufbau deiner ersten Business-App.
 đ Jetzt Kurs ansehen
 đ Tipp: Trag dich hier ein und erhalte den Kurs kostenlos! Gilt nur bis 31.08.25!
 đ Kostenlosen Zugang sichern
In diesem Beitrag zeigen wir euch, wie ihr easy in einer PowerApp Favoriten bzw. einen Favoriten-Ordner anlegen könnt.
In unserem Fallbeispiel haben wir es unserem Kunden ermöglicht, dass die Nutzer einer PowerApps-Arbeitszeiterfassung die Projekte als Favoriten hinterlegen können, um schneller auf hÀufig gewÀhlte Projekte zugreifen zu können. Ziel ist es, dass diese im Cache des EndgerÀts gespeichert bleiben, um zum einen datenbankseitig zu sparen und zum anderen die Favoriten personalisiert auszugeben.
Zuerst schnappt ihr euch die Liste/Collection, fĂŒr welche das Anlegen von Favoriten ermöglicht werden soll. In unserem Fall werden die Projekte ĂŒber die Collection 'colProjekte' ausgegeben. Simultan zu dieser wird die Collection 'colProjekteFavoriten' erstellt, um diese spĂ€ter als Cache zu speichern. Des Weiteren wird ein Icon benötigt, ĂŒber welches die Projekte hinzugefĂŒgt werden. Wir haben auf die Combobox, welche die Projekte ausspielt, einen Stern gepackt, welcher Gelb wird, sobald das Projekt als Favorit markiert wurde. Der Designexperte wird das sicherlich auch noch schöner gestalten können.

Mit DrĂŒcken des Sterns wird das Projekt nun 'colProjekteFavoriten' hinzugefĂŒgt - oder wieder entfernt, sofern es kein Favorit mehr sein soll:
If(
cbxProjekte.Selected.ID in colProjekteFavoriten;
//Wenn aktuelle ID in colProjekteFavoriten, Projekt entfernen
RemoveIf(colProjekteFavoriten; Value = cbxProjekte.Selected.ID);;
Patch(colProjekteFinal; cbxProjekte.Selected; {Favorit: false});
//Ansonsten hinzufĂŒgen
Collect(colProjekteFavoriten; cbxProjekte.Selected.ID);;
Patch(colProjekteFinal; cbxProjekte.Selected; {Favorit: true})
);;
HierfĂŒr wird zum einen 'colProjekteFavoriten' angesprochen als auch 'colProjekteFinal', welche unsere 'colProjekte' darstellt erweitert um die benötigten Spalten fĂŒr die Markierung als Favorit. HierfĂŒr werfen wir einmal einen Blick darauf, wie diese zustandekommt:
//Finale Sammlung fĂŒr Projekte, mit Favoriten, erstellen
ClearCollect(
colProjekteFinal;
SortByColumns(
AddColumns(
colProjekte As OuterTable;
"Favorit";
//In neue Spalte Boolean schreiben, ob als Favorit hinterlegt
OuterTable.ID in colProjekteFavoriten;
"Projekttitel_String";
//Wenn Favorit auf true gesetzt wird, den String fĂŒr den Titel mit einem Stern erweitern
OuterTable.Title & If(
OuterTable.ID in colProjekteFavoriten;
" â"
)
);
//Sortierung zunÀchst nach Favorit abwÀrts (damit true gesetzte Projekte als erstes erscheinen) und danach nach Projektnummer aufwÀrts
"Favorit";
Descending;
"Projektnummer";
Ascending
);;
Die Collection wird zum einen auf dem OnStart der App geladen, als auch nach dem AusfĂŒhren des Codes auf dem Stern, damit die Ănderung fĂŒr den Nutzbar direkt sichtbar wird. Die 'colProjekteFinal' wird letztendlich in der Combobox ausgegeben, mit "Projekttitel_String" als DisplayField sowie "Title" als SearchField. FĂŒr den Nutzer sieht es nun, mit den Favoriten nach oben sortiert, folgendermaĂen aus:

Zuletzt werden die Daten nach DrĂŒcken des Sterns, also am Ende des Codes auf dem OnSelect, im Cache gespeichert:
//Daten im Cache speichern
SaveData(colProjekteFavoriten; "ProjekteFavoritenCache")
Mit der LoadData-Funktion wird diese Collection entsprechend auf dem OnStart wieder aus dem Cache geladen. Dies muss vor dem Collecten der 'colProjekteFavoriten' geschiehen, damit die neu angefĂŒgten Spalten korrekt eingelesen werden können:
//Lokale Favoriten sammeln -> Zur Sicherheit leeren, anschlieĂend lokalen Cache laden
Clear(colProjekteFavoriten);;
LoadData(colProjekteFavoriten; "ProjekteFavoritenCache"; true);;
Jetzt habt ihr mit wenig Aufwand euren Nutzern ermöglicht, aus einer Liste Favoriten zu sammeln, um grade bei gröĂeren Listen Sucheingaben oder das Scrollen durch die Liste zu verringern.
Kompakt zusammengefasst:
OnStart der App:
Cache 'colProjekteFavoriten' laden
'colProjekteFinal' erstellen
OnSelect vom Stern:
HinzufĂŒgen & Entfernen von Favoriten
'colProjekteFinal' erstellen
Cache 'colProjekteFavoriten' speichern
Items von der Combobox:
'colProjekteFinal' (nach Bedarf mit Filter und/oder weiterer Sortierung)
Wir freuen uns, wenn wir euch damit ein wenig helfen konnten. Sollten Fragen hierzu entstehen, nutzt gerne das Kontaktformular und gebt Bescheid!
Vielen Dank fĂŒrs Lesen!
ComentĂĄrios