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:
Bunların hepsini kullandığımız bir örnek yapalım:
<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