top of page

Favoriten in einer PowerApp anlegen [Low Code]

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!



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


bottom of page