Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Repeater Kontrolü

Yazar: ismail aktaş

Kategori: ASP.NET

Eklenme Tarihi: 08.06.2007 07:11:31

Bu makalemizde ASP.NET veri kontrollerinden Repeater kontrolüne değineceğiz. Repeater kontrolü, Gridview, Datalist kontrolleriyle birlikte ASPNET teknolojisinin içinde bulunan üç ana veri kontrolünden biridir.
Repeater Kontrolü

Merhabalar,
Bu makalemizde ASP.NET veri kontrollerinden Repeater kontrolüne değineceğiz.
Repeater kontrolü, Gridview, Datalist kontrolleriyle birlikte ASPNET teknolojisinin içinde bulunan üç ana veri kontrolünden biridir.

Bu üç kontrol arasında Repeater kontrolü, kolaylığı ve esnekliği ile dikkat çekmektedir.
Bunun nedeni Repeater kontrolünün Gridview ve Datalist kontrollerine göre daha az işlem yapabilme yeteneğine sahip olmasından kaynaklanmaktadır.
Evet kontrolün yapabildikleri arttıkça kontrolün kullanımı, esnekliği, kolaylığı gibi etkenleride azalmaktadır.
Bu nedenle Repeater kontrolü, kullanımının kolay olmasına karşın, Gridview, Datalist kontrollerinin yapabildiklerinin büyük bir kısmını yapamaz.

Şimdi bir örnekle Repeater veri kontrolünü incelemeye devam edelim.
Veritabanı olarak Access kullanacağız.
Öncelikle yenibir visual Studio 2005 Web Site projesi oluşturalım.
Şimdi, Veriler Adında yeni bir Access veritabanı ve tblkisiler adında yeni bir tablo oluşturalım.


Örnek olması açısından tblkisiler tablomuza birkaç kişi ekleyelim.



Şimdi oluşturduğumuz veritabanımızı projemizin içinde yeralan ve visual studio tarafından veri kaynaklarını barındırmak amaçlı olarak oluşturulan App_Data klasörüne kesip yapıştırıyoruz.
Visual Studio içersinden App_Data klasörümüzü Refresh yaptığımızda Veriler isimli veritabanımızın projemize eklendiğini göreceğiz.



Bu işlemide yaptıktığımıza göre Repeater veri kontorülümüzü projemize ekleyebilir ve Veriler.mdb veritabanımız ile bağlayabiliriz.
Bu işlem için projemizin Source kısmına ;

<asp:Repeater ID="Repeater1" runat="server">

</asp:Repeater>



Yazmamız yeterlidir. Bu Repeater objesini eklemenin en sade yoludur fakat verilerin sunumu için bu yeterli değildir.
Şimdi projemize Toolbox tan Data sekmesinden AccessDataSource objesi ekliyoruz.



Veriler.mdb veritabanımızı seçtikten sonra ileri butonuna basıp oluşturduğumuz tblkisiler tablomuzu görüyoruz.
Tablomuzdaki KisiID alanımıza ihtiyacımız olmadığı için KisiID hariç diğer alanları seçiyoruz.
Bu noktada herhangibir koşul, sıralama yapmayacağımız için Where.., Order By… seçeneklerine girmiyoruz.
Alanları seçtiğimizde Select Statement kısmı aşağıdaki gibi bir SQL cümleciği şeklinde oluşacaktır.

SELECT [KisiAdi], [KisiSoyadi], [KisiTel], [KisiAdres] FROM [tblkisiler]

Next butonuna tıklayarak ileriyoruz. Oluşturduğumuz sorguyu görmek için Test Query butonuna tıklamamız yeterli.
Finish butonuna tıklayarak AccessDataSource oluşturma işlemimizi bitiriyoruz.
Şimdi sıra Repeater objemiz ile AccessDataSource objemizi ilişkilendirmede.
Bu işlem için Repeater objemizin DatasourceID özelliğine AccessDataSource objemizin ID sini vermemiz gerekmektedir.

<asp:Repeater ID="Repeater1" runat="server” DataSourceID="AccessDataSource1" >

</asp:Repeater>



Artık tblkisiler tablomuzdaki seçtiğimiz alanları repeater objemizin ItemTemplate, AlternatingItemTemplate kısımlarına yazarak verilerimizi sunmaya başlayabiliriz.

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="AccessDataSource1">

<ItemTemplate>

<%#Eval("KisiAdi")%>&nbsp;<%#Eval("KisiSoyadi")%> <br />

</ItemTemplate>

</asp:Repeater>


Kodu yukarıdaki gibi değiştirdikten sonra karşımıza şöyle bir ekran gelecektir.



Bu noktadan sonra seçtiğimiz alanlardaki verileri istediğimiz gibi görüntüleyebiliriz.
Örneğin, Repeater objemizi aşağıdaki gibi değiştirdiğimizde

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="AccessDataSource1">

<HeaderTemplate>

<table style="font-family:Trebuchet MS;font-size:12px" width="400" cellpadding="3" cellspacing="0" bgcolor="#f5f5f5" border="1" bordercolordark="whitesmoke" bordercolorlight="gainsboro" bordercolor="gray">

<tr>

<td><b>Adı</b></td>

<td><b>Soyadı</b></td>

<td><b>Telefon</b></td>

<td><b>Adres</b></td>

</tr>

</HeaderTemplate>

<ItemTemplate>

<tr bgcolor="Lavender">

<td><%#Eval("KisiAdi")%></td>

<td><%#Eval("KisiSoyadi")%></td>

<td><%#Eval("KisiTel")%></td>

<td><%#Eval("KisiAdres")%></td>

</tr>

</ItemTemplate>

<AlternatingItemTemplate>

<tr bgcolor="Beige">

<td><%#Eval("KisiAdi")%></td>

<td><%#Eval("KisiSoyadi")%></td>

<td><%#Eval("KisiTel")%></td>

<td><%#Eval("KisiAdres")%></td>

</tr>

</AlternatingItemTemplate>

<FooterTemplate>

</table>

</FooterTemplate>

</asp:Repeater>


Sonuç şu şekilde olacaktır.



Evet gördüğümüz gibi Repeater objemizi şekillendirdikten sonra ortaya çıkan görüntü daha anlaşılır ve kabul edilebilir bir hal aldı.
Bu görüntüyü almak için yazdığımız kodlardan da anlayacağınız gibi,

HeaderTemplate : Bir defaya mahsus çalışacak olan ve Repeater objesinin üst kısmını belirleyen bölümdür.

ItemTemplate : AlternatingItemTemplate olmadığı durumlarda kayıt sayısı kadar çalışır. Görüntülenecek olan veri bu bölüme yazılır.

AlternatingItemTemplate : Bu bölümde ItemTemplate gibi çalışır. Zaten ikisinin birarada kullanılmasının en büyük nedeni ard arda gelen satırların birbirinden farklı görünmesini sağlamak ve bu şekilde okunabilirliği kolaylaştırmaktır.

FooterTemplate : HeaderTemplate in benzeri işlem yapar fakat tek farkı Repeater objesinin alt kısmı için kullanılır. Bu bölümde HeaderTemplate gibi bir defaya mahsus çalışır.

SeperatorTemplate : SeperatorTemplate iki satırı biribirinden ayıran ayraç görevi görür. Bu kimi zaman <hr> şeklinde yazılan HTML tagı olabileceği gibi kimi zamanda <table> nesnesinin bir <tr> satırıda olabilir.

Umarım faydalı olmuştur.

  • Makalenin kaynak kodlarına ulaşmak için buraya tıklayınız.

    İsmail AKTAŞ
  • Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
    Tema
    Anket
    ASP.NET MVC'yi Projeleriniz de kullandınız mı?


    En Çok Okunan Makaleler
    En Son Eklenen Makaleler
    Soru Merkezinde Bekleyenler
    Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
    Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.