PowerApps’de Cascading Dropdown

Bu makalede cascading dropdown örneği yapılmıştır.

Herkese merhaba,

Bugün Power apps’de sıklıkla kullanılan bir kontrol olan dropdown’lara değineceğim.

Yeri gelmişken combobox ile dropdown arasındaki farktan bahsedelim, Combobox, arama ve çoklu seçimi destekleyen, kullanıcının sunulan seçeneklerden birini seçmesini sağlayan kontroldür. Dropdown ise kullanıcı açmadığı sürece ilk ögeyi gösteren kontroldür. Çok açıdan combobox kullanımı daha avantajlıdır, mesela arama yapmanıza olanak tanır, kullanıcı bir veya daha fazla seçim yapabilir ve birden fazla layout destekler. Combobox’ı dropdown gibi kullanabilirsiniz ancak tersi doğru değil.

Combobox’ın yukarıda bahsettiğim esnekliklerini kullanmak istemediğiniz durumlarda dropdown sizin çözümünüz olacaktır.

Senaryomuz, üniversitenin kuruluş içi kullandığı bir uygulamada üniversiteye bağlı fakülte ve fakültelere bağlı bölümlerin listelendiği iki adet dropdown üzerine kurulsun. Seçilen fakülteye göre fakültelerin bölümlerinin gelmesini istiyorum.

Önce veri kaynağımızı ayarlamalıyız. Birbirine bağlı dropdown’lar için genelde lookup tabloları kullanılır. Bunun için kullandığınız veritabanlarındaki tabloları referans alabilirsiniz. Senaryomuza göre oluşturduğum basit bir lookup tablosunu excel’de hazırladım ve tabloya OneDrive’dan erişeceğim.

Kullanacağım tablo aşağıdaki gibi olacak, üniversitenin 4 fakültesi ve fakültelere bağlı 18 bölüm bilgisine buradan ulaşacağım.

Hatırlatmakta fayda var, çektiğiniz tabloları excel üzerinden bağlıyorsanız, format as table ile tablo olarak kaydetmelisiniz.

Veri tablomu hazırladığıma göre;

Power Apps > Create App > Canvas App gidip boş bir sayfa açıyorum.

Önce kullanacağım iki dropdown kontrollerini ekliyorum: DDL_Bolumler ve DDL_Fakulteler

Ardından Connection‘lardan OneDriveBusiness ve Bolumler tablomu ekliyorum.

Sırada Fakülteler dropdown’ını veri kaynağıma bağlamaya. DDL_Fakulteler’in Items özelliğine Bölümler tablosunun fakülteler kolonunu bağlıyorum:

Distinct(Bolumler.Fakulteler,Fakulteler)

Bu arada Properties penceresinden’de yer alan Items’ı Fakültelere bağlayabilirsiniz, böylece formül yazmaktan kurtulabilirsiniz. (Aşağıda ünvanlar tablosunda gösterildi)

Gelelim DDL_Bolumler dropdown’ını seçilen fakülteye bağlı olarak sadece o fakültenin bölümlerini getirmeye:

Bunu iki şekilde yapabilirsiniz:

  1. Formul çubuğuna, DDL_Bolumlerin Items’ına Filter(Bolumler, Fakulteler = DDL_Fakulteler.Selected.Result) yazabilirim.
  2. Properties ekranından yukarıdaki formülü yazmak yerine Depends On üzerinden tabloları seçerek yapabilirim. Burada Parent kontrol bölümleri getireceği fakülte tablosunu ifade etmekte, matching field ise fakülteye bağlı gelecek olan bölümler tablosunu göstermektedir.

Apply dediğimde seçtiğim fakülteye bağlı bölümlerin listelendiğini görüyorum.

Üçüncü bir ünvanlar dropdown’ı ekliyorum, bu dropdown hiçbirine bağlı olmasıni sadece üniversitedeki mevcut ünvanları göstersin, bu durumda işim basit, excel’e Unvanlar kolonunu ekliyorum.

DDL_Unvanlar dropdown’ı verikaynağına bu sefer formüller bağlamak yerine properties ekranından yapalım istiyorum.

DDL_Unvanlar seçiliyken Properties ekranından Items‘ı OneDrive Bolumler tablosunu belirtip Value‘ya Unvanlar kolonunu seçiyorum ve dropdown’a ünvanların geldiğini görüyorum.

Bu yazımda birbirine bağlı cascading dropdown’ların nasıl oluşturulduğunu göstermeye çalıştım, umarım faydalı olmuştur.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s