Makale Özeti

Bu makalemizde ASP.NET uygulamalarında verileri istemcide gösterirken kullanabileceğimiz Repeater sunucu kontrolünü örnek ile inceliyor olacağız.

Makale

Repeater Sunucu Kontrlü ; programatik bir döngü içerisinde elimizdeki verileri yazdırmak için kullanılan sunucu kontrolüdür. Daha önceden belirlenmiş bir çıktı şekli olmadığı için kendimiz nasıl görüntülenmesini istiyorsak o özellikleri veririz. Bu özellikler aslında şablonlardır, ve biz bu şablonların içerisine örneğin kalın görüntülenmesini istediğimiz bir metin için <b> gibi HTML ifadeleri kullanarak, yarattığımız şablonlar esas alınarak verinin görüntülenmesini sağlarız. Şablonlara bakacak olursak:

ItemTemplate Her bir kayıt için yapılacak gösterimin belirlendiği şablondur. HTML ifadeleri kullanıp çıktıyı görüntü olarak desteklemek mümkündür.
AlternatingItemTemplate ItemTemplate ile aynı mantıkta çalışır fakat bu şablon her bir sutün için de çalışmaktadır. Böylelikle sütun bazında görüntüleme seçeneklerini kullanabiliriz.
HeaderTemplate Şablon için üst bilgi vermemizi sağlar. Örneğin <table> diyerek tüm Repeater kontrolünün en başında yer almasını sağlayabiliriz.
FooterTemplate Aynı şekilde bu kontrol de şablon için alt bilgi vermemizi sağlar. Örneğin </table> diyerek HeaderTemplatede açmış olduğumuz bilgiyi kapatabiliriz.
SeparatorTemplate Her kayıt için tekrarlanan çıktılar arasına görsel olarak birbirinden ayırmak için kullanırız. Örneğin <hr> ifadesi ile her kayıt arasına yatay bir çizgi çizmiş oluruz.

Bunların hepsini kullandığımız bir örnek yapalım:

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<Script Language="VB" runat="server">
Sub Page_load(obj as Object, e as EventArgs)
Dim baglanti as new OleDbConnection _
("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=uyelik_sistemi.mdb")

Dim Cmd as new OleDbDataAdapter _
("Select * From firmalar",baglanti)

Dim ds as DataSet = new DataSet()
Cmd.Fill(ds,"firmalar")

veri_listesi.DataSource = ds.Tables("firmalar").DefaultView
veri_listesi.DataBind()
End Sub
</script>

<html><body>
<ASP:Repeater id="veri_listesi" runat="server">
<HeaderTemplate>
<table border=0>
<tr>
<td bgcolor="#CCCCCC" width="150"><b>Firma Adı</b></td>
<td bgcolor="#CCCCCC" width="150"><b>Vergi Numarası</b></td>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#DataBinder.Eval(Container.DataItem,"firma")%></td>
<td><%#DataBinder.Eval(Container.DataItem,"vergino")%></td>
</tr>
</ItemTemplate>
<SeparatorTemplate>
<tr>
<td bgcolor="#000000" colspan=2 height="1px"></td>
</tr>
</SeparatorTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</ASP:Repeater>
</body></html>

Örnekte gördüğümüz gibi öncelikle uyelik_veritabanına bağlandık. Firmalar tablosundan tüm kayıtları çektik ve bir DataSet içerisine yerleştirdik. Ardından bunu Repetaer kontrolümüze bağladık.

Repeater kontrolü içerisinde olabildiğinde şablon kullanmaya çalıştık. FooterTemplate ve HeaderTemplate ile çıktının bir tablo yapısında olmasını ve bu tablonun başlık bilgilerinin de istediğimiz gibi yer almasını istedik. Ardından ItemTemplate ile döngü içerisinde nasıl tablo yapısına sahip olacağını belirledik. Son olarak her kayıt arasına 1 piksellik bir boş siyah satır koymasını istedik. Kodumuzu çalıştıralım bakalım nasıl bir ekranla karşılacağız:

Şekil 1

Bu makalemizde bir access tablosunda olan bilgileri repeater sunucu kontrolü ile nasıl bir ASP.NET sayfasında gösterebileceğimizi gördük. Yeni makalelerde yine bilgiyi paylaşmak üzere.

 

Mehmet Nuri ÇANKAYA

cankaya@aspnedir.com