ASP.NET Repeater Kullanımı

ASP.NET Repeater Kullanımı

REPEATER

 

            S.a. arkadaşlar. Bugün sizlere Asp.Net’te Repeater kullanmayı öğretmeye ve örneklendirmeye çalışacağım. Adından da anlaşılacağı üzere repeater tekrarlayıcıdır. Bizim girdiğimiz belli düzen içerisinde belirtilmiş verileri verinin sonu gelene kadar tekrar edip belli bir kalıp içerisinde ekrana yazdırmaya yarar ve performansı en yüksek veri bağlama nesnelerinden birisidir. Mesela reklam amaçlı yazmıyorum ama www.charpnedir.com ve www.eksisozluk.com un neredeyse tamamı repeaterlar ile yapılmıştır. Tabii bana öyleymiş gibi geldi :)

 

            Repeater ‘ımızın 5 adet şablonu bulunmaktadır. Bunlar HeaderTemplate, ItemTemplate, AlternatingItemTemplate,  FooterTemplate ve SeperateTemplate ‘ tir. Bunları ayrı ayrı incelememiz gerekirse ; en çok iş yapacağımız şablonumuz ItemTemplate olacaktır. Çünkü verileri ne şekilde görüntüleyeceğimizi bu alanda belirleriz. HeaderTemplate ; Repeater’ımız içerisinde ItemTemplate gibi sürekli tekrarlanmayan bir alandır ve Repeater’ımızın en üstünde sadece 1 defaya mahsus göstermek istediklerimiz için kullanırız. Mesela verilerimizin başlıkları için kullanabiliriz. AlternatingItemTemplate ; farklı veri kümeleri için kullanabiliriz. Mesela formumuzda iki farklı veriyi göstermek istediğimizde her veri kümesi için ayrı bir Repeater oluşturmak bizim için form üzerinde rahatça hareket etmemizi ve forma daha rahat bir şekilde hakim olmamızı sağlar. FooterTemplate ; Repeater’ımızın en altında tekrarlanmamak suretiyle göstermek istediğimiz yazı, veri vs. ler için kullanılır. Mesela formun en altında görüntülenen verilerin sayısını yada kullanıcıya bilgi vermek amaçlı kullanacağımız bir alan olabilir. SeperatorTemplate’i ise veritabanımızdan gelen verileri birbirinden bir ayraç ile ayıracağımız zamanlarda kullanabiliriz.

 

            Repater’ımızın ne işe yaradığını öğrendikten sonra biraz örneklendirmeler ile devam edelim.

 

            İlk yapmamız gereken .aspx uzantılı sayfamızın

tagları içerisine bir adet repeater tanımlamak. Bunu da kod aracılığıyla yapmak için şeklinde açılış ve kapanış taglarımızı belirmemiz olacaktır. Artık elimizde formumuz üzerinde bir adet Repeater nesnemiz bulunmaktadır. Örneğimizde bütün şablonları kullanıp hepsinin kullanımını görmenizi istiyorum.

 

            Şimdi hala .aspx kodlarımızı yazıyoruz. Buradaki işimiz bittikten sonra da CodeBehind yani bunun bir de C# kısmını kodlayacağız.

 

HeaderTemplate kulanımı :

----------------------------------------------------------------------------------------------

 

 

html kodlarımız ve başlıklarımız vs.vs.

 

 

----------------------------------------------------------------------------------------------

 

ItemTemplate kullanımı :

 

----------------------------------------------------------------------------------------------

 

 

html taglarını buralara rahatlıkla yazabilirsiniz. Ama göstereceğimiz veriyi

 

<%#Eval (“verimizin bulunduğu kolon adı”)%>şeklinde belirtmek zorundayız.

 

Örnek : <%#Eval (“CustomerID”)%>

Tabii bu verilerin CodeBehind’da veritabanından alınmış olması gerekir.

 

----------------------------------------------------------------------------------------------

 

AlternatingItemTemplate kullanımı :

 

----------------------------------------------------------------------------------------------

 

 

Bu alana ItemTemplate’te yazılanların aynısını uygulayabilirsiniz.

 

 

----------------------------------------------------------------------------------------------

 

FooterTemplate kullanımı :

 

----------------------------------------------------------------------------------------------

 

 

alt alanda görünmesini istediklerinizi html kodlarını da kullanarak yazdırabilirsiniz. Yada <% = bilmemne %>yazarak bu alan içerisine CodeBehind kısmından gelen bilmemne değerini yazdırabilirsiniz. Bu bilmemne değeri herhangi bir işlem, kayıt sayısı, veya işlem sonucuna göre bilgilendirme mesajı olabilir. Bunu diğer şablonlarda da kullanabilirsiniz fakat bunun en çok kullanıldığı alan burası olduğu için FooterTemplate’e gelince bahsetmek uygun olur diye düşündüm.

 

 

----------------------------------------------------------------------------------------------

 

 

bu alanda html ayraçlarını kullanabilirsiniz yada istediğiniz bir kelime, çizgi veya özel karakter ile de ayırım yapabilirsiniz.

 

 

----------------------------------------------------------------------------------------------

 

 

 

Şimdi CodeBehind kısmında yapacaklarımıza biraz göz atalım.

 

Hemen bir bağlantı nesnesi oluşturup bağlantımızı açtık arkasından bir verilerimiz için bir komut nesnesi oluşturalım ve parametrelerini belirleyelim. Komut nesnemizden gelecek verilere köprü vazifesi yapacak olan SqlDataAdapter nesnemizi oluşturalım. Verilerimizi veritabanından çekip kendi makinamız üzerine yazdırmak için DataTable nesnemizi de oluşturalım. DataTable nesnemizin içini SqlDataAdapter ile alınan verilerimiz ile dolduralım. Repeater’ımıza data kaynağı olarak DataTable nesnemizi gösterdikten sonra veri bağlama işlemini gerçekleştirmek için DataBind işlemimizi gerçekleştirmemiz gerekir. Bir de eğer kayıt sayısını yazdıracaksanız formun public partial class’ında bir adet int tipinde değişken oluşturmanız gerekmektedir. Ben bilmemne isimli bir değişken oluşturup bu değişkene DataTable’ın Rows.Count özelliğini atadım. Bu özellik DataTable’ımızda bulunan kayıt sayısını vermektedir. Bu bilmemne değişkenimizi de hatırlayacağınız gibi örnek olması amacıyla .aspx sayfamızda FooterTemplate üzerinde göstermiştik.

 

Örnek kodları aşağıdaki gibidir.

 

----------------------------------------------------------------------------------------------

 

SqlConnection con = new SqlConnection("Data Source = localhost;Initial Catalog = Northwind;Integrated Security = SSPI;");

        con.Open();

        SqlCommand cmd = new SqlCommand("Select CompanyName,ContactName,City from Customers", con);

        SqlDataAdapter da = new SqlDataAdapter(cmd);

        DataTable dt = new DataTable();

        da.Fill(dt);

        con.Close();

        Repeater1.DataSource = dt;

        Repeater1.DataBind();

 

        bilmemne = dt.Rows.Count;

 

----------------------------------------------------------------------------------------------

 

            Bütün yapmamız gereken işlem bu kadar. Bugün kafam biraz bozuk olduğu için böyle kısa bir konu seçtim ama güzel konudur. Repeater hakkında siz de iyi bir araştırma yaparsanız eminim Repeater ile daha iyi şeyler yapabilirsiniz. Asp.Net’te en sevdiğim şey Repeater kullanmak. Umarım anlattıklarım işinize yarar.

 

Repeater Kullanım Örneği      :  http://condoric.t35.com/RepeaterKullanimi.rar

 

Yazı ve Repeater Örnek         :  http://condoric.t35.com/RepeaterExampleForAr-Ge.rar

 

 

Doğukan DEMİR

Döküman Arama

Başlık :

Kapat