Posts Tagged Data yapıları
Smatface Designer’da Manuel(static) Tablolar
Posted by celikfi in Geliştirme Araçları, Genel, Smartface Designer on July 15th, 2010
Smartface Designer’da tablo oluşturma araçlarının bulunması kullanıcıya kullanım kolaylığı sağlamaktadır. Bu tabloları oluşturmak için asp.net’teki gibi başka veri tabanı dillerini bilmeye gerek olmamasının yanı sıra veritabanı bağlantısı yapmaya da gerek yok. Bu özellikler yeni kullancılar için uygulama geliştirmeyi çile olmaktan çıkarır.
Smartface Designer’da tablo oluşturmak için başka bir platformla bağlantı kurmaya gerek yoktur, tabloyu oluşturmak için hazır yaratılan tablolara içeriklerin girilmesi yeterlidir. Şimdi ASP.NET için MYSQL bağlantısının nasıl yapıldığına bakalım.
< %@ Import Namespace="System.Data.OleDb" %> <script runat="server"> sub Page_Load dim dbconn dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=" & server.mappath("northwind.mdb")) dbconn.Open() end sub </script>
Yukarda görüldüğü gibi sadece veritabanına bağlamak için bu kodları yazmak gerekir. Bunun dışında veri tabanından verileri okumak ve üzerinde sorgu yapmak için de bundan daha uzun kod yazmak gerekiyor. Aşağıda göreceğimiz Smartface Designer’da tablo oluşturmada bunların hiç birine ihtiyaç duyulmadığı için kullanıcıya ciddi kolaylık sağlamaktadır.
Şimdi Smartface Designerda tablo nasıl oluşturulur ona bakalım.
I. Lokal Tablo Oluşturma:
Uygulamada verileri lokal olarak çekmek için bu tablolar kullanılmaktadır. Bu veriler kullanıcı tarafından elle girilmektedir. Tablolar Smartface Designer’ın içinde bir ikon olarak seçilebilir olarak yer almaktadır. Bu ikon seçilip tablo tablo içerikleri doldurulduğunda “Projects Browser’da” bulunan “Local Tables’ın” içinde verilen isimde bir tablo oluşur.Uygulamalarda bu tablolar lokal olarak yer aldıklarından projenin boyutunu artıran araçlardır. Eğer tablo kullanımı gerekliyse bunların verileri küçük boyutlarda seçilmelidir. Manuel olarak seçilen tabloların uygulamada kullanılabilir olması için Datasetler oluşturulmalıdır.
Statik tabloyu Smartface Designer’da oluşturmak için tablo ikonun üzerini tıklayınca tablo sayfası açılır.
Bu sayfaya bir tablo adı verilip veri tabanı oluşturulur. Oluşturulan tablonun max size’nı kullanıcı belirleyebilmektedir. Tabloya isim verdikten sonra kullanacağımız kolonları oluşturmamız gerekmektedir.
Her sütunun bir ismi, bir tipi(type) ve ilk değeri(default) bulunmaktadır. Burada sütun ismi yazıldıktan sonra bu sütunun tipi(type) aşağıdaki şekilde görüldüğü gibi seçilir. Eğer kullanıcı hiçbir şey yapmazsa default olarak string tipine sahip olur. Bu işlem tamamlandıktan sonra tabloları doldurabiliriz.
“Local tables’da” oluşan tabloya sağ tıklanarak “Edit Rows” seçilir ve tablo içerikleri doldurulur. Aşağıdaki şekilde gösterilmiştir.
Ekleyeceğimiz satır sayısı kadar insert butonunu tıklayarak satırlar oluştururuz. Bu oluşturulan satırlara kolonlarda(column) belirtilen tiplerde(type) veriler girilmesi gerekir. Resim(Picture) için bilgisayardan dosya seçme seçenekleri yer almaktadır. Tablo doldurma işlemi bittikten sonra tablo save edilir. Tablonun sağ üst köşesinde tablo verilerinin kapladığı hafızayı görülebilmektedir.
Tabloların nasıl oluştuğunu öğrendik şimdi Dataset nasıl oluşturulur ona bir bakalım.
II. Dataset Oluşturma:
Dateset manuel tablolarının nesnelerde(object) kullanılabilir hale getirmek için oluşturulur. Bu tabloların Smartface Designer’a uyarlanması için Dataset’lerini oluşturulması şarttır. Dataset ikonu tıklandığında çıkan Dataset sayfasında “Local Tables’da” bulunan tablo isimleri “ComboBox’da” sıralı olarak görülür. Bu tablolardan kullanacağımızı seçip Dataset’imizi oluştururuz. Örneğin ülkeler datasetini oluşturalım.
Dataset’ini oluşturacağımız tabloyu sıralamak istersek “Sort’tan” seçtiğimiz kolon’a(column) göre küçükten büyüğe ya da büyükten küçüğe sıralayabiliriz. Böylece tablo oluştururken verileri sıralı girmemize gerek kalmaz, Dataset bizim yerimize sıralamış olur. Ülkeler Dataset’ini ülke adına göre sıralayalım.
Dataset sayfasındaki bütün seçimlerimizi yaptıktan sonra “Ok” butonunu tıklayarak Datasetimizi oluştururuz. Dataset’imiz “Data Access” kısmında görünür olur. Şekilde de görüldüğü gibi…
Önemli: Bir tablonun birden fazla Dataset'i oluşturulabilir. Bu sayede bir dataset'te filtreleme yaparken başka bir Dataset'te ana tablomuz değişmeden tutulmuş olur.
Dataset’in nasıl oluştuğunu öğrendikten sonra nasıl filtrelendiğini ve nasıl kullanılacağı kısmını anlatmak kaldı. Şimdi Dataset nasıl filtrelenir ona bakalım.
III. Dataset Filtreleme:
Filtrenin amacı genel bir tablodan sadece kullanacağımız satırların kaldığı bir tablo oluşturma olarak açıklayabiliriz. Bu genel tabloya örnek olarak; İTU’deki bütün öğrencilerin okul numaralarının, isim-soyisimlerinin ve bölümlerinin bilgilerinin tutulduğu bir tablo olduğunu düşünelim. Biz bu tabloyu sadece bilgisayar mühendislerine göre filtrelersek elimize bilgisayar mühendislerinin listesini tutan bir tablo kalmış olur. Bunu bir nevi sorgulama olarak görebiliriz. Aşağıda Dataset filtrelemenin nasıl yapıldığını ülkeler Dataset’inde gösterelim.
Yukarda bulunan artı işareti tıklandığında Dataset’in “Filter” bölümünde filtreleme satırı çıkar. Burada “Colums” kısmına kullandığımız Dataset’te yer alan tablonun sütün isimleri çıkar. Bu sütunlardan biri seçilerek “Operator” seçilir. “Columns” ve “Operatör” belirtildikten sonra sıra geldi filtreleyeceğimiz veriyi almaya. Bu veriyi “Dataset Column’dan(Dataset Sütun)”, “Object Value’den(Nesne)” veya “Constant(sabit)” olarak alabiliriz.
Bu örnekte “Ulkeler” tablosunun ulkeadi sütununda turkiye olan satırların bulunduğu bir tablo oluşur.
Önemli:
Filtreleme yapılan Dataset'lerde bu işlemin yapıldığı yerde
"refresh" dataset" yapmak gerekir.
Dataset oluşturduktan sonra bunları bağlandığı nesneler konusunu bir örnekle açıklayıp konuyu burada bitirelim.
IV. Dateset Bağlantılı Nesnelerden Oluşan Örnek Uygulama:
Bu uygulamanın amacı Aksiyon’ların (Action Editors) Dataset özellikleri ve Dataset filtrelemenin nasıl yapıldığıdır.
Örnek olarak anlatacağımız uygulamada farklı farklı ülkeler ve bu ülkeler hakkında bilgilerin yer aldığı bir mobil uygulama olacaktır. Bu uygulamada “RepeatBox’larda” bulunan ülkelere tıklanınca “ÜlkeBilgi” sayfasına giderek ülke hakkında bilgileri bir Label’ın içinde görüntülenecek. “ÜlkeBilgisi”" sayfasında ileri ve geri butonlarıyla Dataset’in satırlarında ileri geri hareket etmektedir.Şimdi aşama aşama uygulamayı nasıl gerçeklediğimizi anlatalım.
Program Geliştirme Zamanı(Designer Time)
“RepeatBox’un” Palettes’de bulunan “Data Source” kısmına Dataset’lerden “Ulkeler” Dataset’ini bağladık. Aşağıda resimde gösterildiği gibi “RepeatBox’a” Dataset bağlanmaktadır.
“RepeatBox’a” Dataset bağladıktan sonra sıra Dataset’teki verilerin “RepeatBox’ta” gösterilmesine geldi. Öncelikler “”RepeatBox hakkında biraz bilgi verelim.
“RepeatBox’ın” aktif(active item) ve pasif(inactive item) durumları bulunur. “RepeatBox’ta” aktif ve pasif kullanılmasındaki amaç hangi seçeneğin aktif olduğunu göstermeye yarar. Bu fark da aktif’te ve pasif’te kullanılan araçların renklerinin, yazı boyutlarının farklı seçilmesiyle sağlanabilir.
“RepeatBox’ın” Plattes’inde bulunan aktif(active item) ve pasif (Inactive item) kısımlarına bir “Label” yerleştirip bu Label’ların “Data Source’larına” Dataset’te istenen kolon(column) seçilir. Bu seçilen kolonun içeriği “RepeatBox’ta” görüntülenir. Böylece Dataset’te bulunan ülke isimleri alfabetik olarak “RepeatBox’a” yazılmış olur.
Kullanıcı “RepeatBox’ta” sıralanan ülkelerden birini şeçtiğinde “ÜlkeBilgi” sayfasına gider. Bu bilgiler “UlkeBilgi” tablosunda bulunmaktadır. Biz bu tabloyu filtreleyerek sadece seçilen ülkenin bilgilerini çekmeliyiz.
“UlkeBilgi” tablosunun görünümü:
Bu oluşturduğumuz tablo bütün ülkelerin bilgilerini kapsadığından oluşturacağımız Dataset’e filtre koymamız gerekmektedir. Oluşturduğumuz Dataset “RepeatBox’ta” seçilen ülke adına göre filtrelenmelidir. Dataset filtrelemek için “Columns’da” bulunan tablonun kolonlarından “ulkeadi” ile “Ulkerler” Dataset’nin “ulkeadi’nın” değerine eşit olan satırlardan oluşan bir tablo oluşur.
Filtre koşunu koyduktan sonra “UI Components’lardan” RepeatBox’ın “onSelectItem’da” Dataset aksiyonlarından(Actions) yenile(Refresh Dataset=”DS_UlkeTanitimi”) seçilmelidir. Filtrelenmiş bir Dataset yenilenmezse geriye hiçbir değer döndürmez.
Dataset’i filtreledikten sonra “UlkeBilgi” sayfasını anlatabiliriz. Sayfanın en üstünde seçilen ülkenin adını (RepeatBox’ın aktif olduğu değer) gösteren label, onun altında “UlkeBilgi” Dataset’ine bağlı bulunan Label(Dataset’in satırları aynı sayfada sırayla gösterilecek ) kullanılmıştır.
Yukarda gösterilen butonlar Dataset göstericisini ileri geri hareket ettirmektedir.İleri butonun tıklanma(OnPress) durumuna aksiyon(Actions) olarak Move Next Record Dataset =”DS_UlkeTanitimi” konulur. Geri butonunda da tam tersi Move Previous Record Dataset=”DS_UlkeTanitimi” konur. İleri butonu tıklandığında Dataset göstergesi bir alttaki satırı gösterir. Geri butonunda ise bir üstündeki satırı gösterir. Şimdi ileri butonunda seçilen Dataset aksiyonu(Actions) gösterelim.
Geri butonunda ise “Next” yerine “Previous” Aksiyonu kullanılır. Bu işlemlerle program geliştirme süreci sona erdi. Şimdi geliştirdiğimiz uygulamanın ekran çıktıları ve “UlkeBilgi” tablosunu göstericisiyle gösterelim.
Simülasyon Zamanı(Run Time)
Ülkeler Sayfası:
“UlkeBilgi” tablosuna Dataset’in gösterdiği satır okla belirtildi. Burada tabloda gösterilen satır içeriğinin “Label’da” görünür.
“ÜlkeBilgi” sayfasında Dataset’in gösterdiği ilk değeri “Label’da” gösterilmiştir. İleri butonuna tıklamayla sayfanın nasıl değiştiği bunun yanında tablo göstericisini yer değiştirmesi gözlemlenecektir.
İleri butonunun içinde bulunan Dataset’te ileri git aksiyonu “UlkeBilgi” tablosunda Portekiz’le ilgili bir alt satıra geçmesini sağlar.
Görüldüğü gibi ileri butonu tıklandıkça Dataset göstericisi tabloda bir aşağı inmekte ve label bu bilgiyi göstermektedir.
Aynı şekilde ileri butonu tıklandığında gösterge tabloda aşağı doğru iner.
Ekranda tabloda göstergesinin “bilgi” kısmını Labelda gösterir.
Tablo son değeri gösterdiği için bundan sonra ileri tuşuna ne kadar basılırsa basılsın aynı yeri gösterecektir. Bu durumda ileri tuşunun aksiyonuna bir koşul konulabilir. Eğer son sayfaya gelindiyse tablonun başına git(Move First Record Dataset) aksiyonu seçilerek Dataset’in göstergesi tablonun ilk değerini gösterecek şekilde ayarlanır. Bunu yapmadan geri butonuyla önceki sayfalara geçilebilir.
Sayfalarıyla uygulama bölümünde sonuna geldik. Bu makalede Tablo oluşturmayı, Dataset oluşturmayı, Dataset Filtrelemeyi ve nesnelerle uygulama geliştirmeyi gösterdik.
Herkese iyi çalışmalar….
Fırat Çelik
firat901@hotmail.com Read the rest of this entry »

























Güncel Yorumlar