Koleksiyon Kullanımı

Genellikle, veriyi hesaplarken ya da işlerken geçici bellekte tutmak gerekir. Sonrasında işlenen veriler, nihai veriler olarak kalıcı kaydetme ile veri kaynağına aktarılır. Geçici kayıtlar, Koleksiyon denilen değişken tablolarda tutulur. Bu yöntemde veriler yalnızca uygulamanın ekranında iken hesaplanır, işlenir ve çok hızlı bir şekilde cache belleğe yazılır.

Bu tablolar sanal olarak oluşturulmaktadır. Tablo ve kolon adları istenilen şekilde isimlendirilebilir. Kolonların veri türleri içerdiği veriye göre ya da sonrasında kaydedilecek veri kaynağına göre otomatik şekillenir.

Koleksiyon tablolarını oluşturmak için Collect formülü kullanılır. Collect(tablo adı ; { kolonlar }) şeklinde aşağıdaki örnek formülde görüldüğü gibi yazılır.

Collect(olusacak_tablo_adi ;
{ kolon1:   textbox1.Text;
kolon2:   textbox2.Text;
kolon3:   textbox3.Text    } )

Örnek olarak bu formül KAYDET butonunun OnSelcet özelliğine ya da bir timer’ın OnTimerStart/OnTimerEnd özelliğine yazılabilir.

Koleksiyon Kullanımı

Görseldeki ekranda personel kayıtları koleksiyon üzerine yazılacaktır. Bu ekranda 4 textbox, 4 label, buton ve galeri nesneleri kullanılmıştır.

Formüller içerisinde nesne adları sıklıkla kullanılır. Bu nedenle ekrandaki işlevsel nesneler yaptıkları işe ya da içerdikleri veriye göre mutlak adlandırılmalıdır.

TextBox Adları: txt_ad, txt_soyad, txt_mail, txt_departman şeklindedir.

Textboxlara girilen verilerin Koleksiyon tablosuna yazılması için KAYDET butonunun OnSelcet özelliğine aşağıdaki formül yazılmıştır.

*Tablo ve kolon adları isteğe bağlı şekilde değiştirilebilir.

Collect( Personel;
{
P_ad:    txt_ad.Text;
P_soyad:    txt_soyad.Text;
P_mail:    txt_mail.Text;
P_departman:    txt_departman.Text   } )

Kaydet butonuna her bastığınızda saniyeler içinde veriler koleksiyona atılmış olacaktır.

Koleksiyon Verileri Nasıl Görüntülenir?

Görünüm sekmesi Koleksiyonlar butonu ile tüm koleksiyonlar ve içerdikleri veriler tek ekranda incelenebilir.

Verileri liste halinde göstermek için galeri nesnesine tıklanır ve güncel ekranda yanda açılan pencereden ilgili Koleksiyon seçilir.

Eski versiyonlar için Özellikler Penceresinden Veri Kaynağı alanında aynı seçim yapılabilir. Ya da formül çubuğu üzerinden galerinin Items özelliğine tablo adı yazarak da aynı işlem yapılabilir.

Kaydet butonuna basıldığında yazma işleminden sonra textboxların temizlenmesi/ sıfırlanması için ise Reset() fonksiyonu kullanılmaktadır.

*Ardışık olarak yapılması gereken işlemlerde ;; kullanılmaktadır.

Collect( Personel;
{
P_ad:    txt_ad.Text;
P_soyad:    txt_soyad.Text;
P_mail:    txt_mail.Text;
P_departman:    txt_departman.Text   } );;

Reset(txt_ad);;
Reset(txt_soyad);;
Reset(txt_mail);;
Reset(txt_departman)

 

Listeleri Koşullu Tasarlamak

Galeri içerisinde Eğer(If) formüllü yazarak koşullu listeler tasarlanabilir. Bu koşullar ile nesnelerin renk, görünüm, boyut, konum gibi bir çok özelliğini kontrol etmek mümkün. Koşullar ile sayesinde kişi/departman bazlı yetkilendirmeler yapılabilir, ekranlardaki butonlar gösterilip/gizlenebilir, takipsel süreçlerde durum bilgisi renklerle ifade edilebilir.

Koşullu Listeler Tasarlamak

Bu örnekte galeri içindeki kayıtlar içerdiği bilgiye göre renklerle ifade edilmekte. Departman bilgisi “Eğitim” olan tüm kayıtlar mor renk ile ifade edilirken Satış departmanı ise Gri renk ile gösterilmekte.

Galeri içerisindeki her bir kaydı bireysel olarak değerlendirilebilmek için ThisItem kelimesi kullanılmaktadır. Böylece mevcut kayıtlar içinden, ilgili satırın kendi verisine erişilebilir.

Kayıt işlemi esnasında ad soyad bilgisi ayrı ayrı yazılmakta. Ad Soyad yanyana yazabilmek için & birleştirme operatörü kullanılmaktadır.

ThisItem.P_ad & ” ” & ThisItem.P_soyad

Koşul Eklemek

Kayıtları renklendirmek için galeri içerisine bir boş bir Label eklenir ve galerinin sol tarafına yerleştirilir.

Label’ın Fill özelliğine If(ThisItem.P_departman=”Eğitim”;Purple; Gray) 

Bu söz dizimi ile galerideki her bir satır ayrı ayrı değerlendirilecek ve departman bilgisi kontrol edilecek. Departman Eğitim ise Mor, farklı bir departman ise Gri renkle gösterilecek.

Renk bilgisi doğrudan Purple,Red,Blue olarak yazılabildiği gibi RGB kodları üzerinden de yazılabilir.

Özel bir renk kodu kullanmak istediğinizde RGBA() fonksiyonu kullanılmaktadır.
Bu fonksiyon RGBA(255; 255 ; 255 ; 1) olarak da yazılmaktadır. Formülün son parametresi 0 ile 1 arasında değer alır ve oluşan rengin saydamlığını etkiler.

Diğer Power Apps yazılarına link üzerinden erişebilirsiniz.

Eğer fonksiyonunun kullanım detayları için linke tıklayınız.