Uyarılar :
- Bu sayfada yazılanlar yeniden yayınlanamaz.
- Bu örnek ders sırasındaki anlatımlardan derlenmiştir. Özellikle bir makale şeklinde yazılmamıştır. Bilgilerde eksiklikler bulunabilir.
- Bu örneği kullanabilmek için, web sitenizin (site klasörünüzün) ana dizininde App_Data isimli bir klasör ve bu klasörde
Veriler.mdb isimli bir Access veritabanı dosyası bulunmalı, veritabanı dosyası içinde "Adi", "Soyadi" ve "Borcu" alanlarını
içeren "Alacaklar" isimli bir tablo bulunmalıdır.
Örnek :
<%@ Page Language="C#" Debug="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
/*
Bu örneği incelemeden önce veritabanı sınıfları ve listeleme ile ilgili diğer
örneklere bakın...
*/
/*
ASP.NET Repeater Web Kontrolü, bizim belirlediğimiz bir şablona uygun olarak
verilen kayıtları çıktıya (Gönderilecek HTML belgesine) yazar
(Her bir kayıt için şablonu tekrar eder). Örneğin şablon bir HTML tablo satırı ise,
her bir kayıt için bir satır tekrar eder.
*/
void Page_Load(Object o, EventArgs e)
{
// Bağlantı nesnesini tanımla ve oluştur...
OleDbConnection Baglanti;
Baglanti = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=" +
Server.MapPath("~\App_Data\Veriler.mdb"));
// SQL Sorgularını çalıştırmak ve sonuçlarını almak için kullanılacak OleDbCommand
// nesnesini tanımla ve oluştur...
OleDbCommand Komut;
Komut = new OleDbCommand("SELECT * FROM Alacaklar", Baglanti);
// Bağlantıyı aç...
Baglanti.Open();
/*
Repeater nesnemizin kayıtları listelerken kullanacağı kayıt kümesini belirliyoruz.
Bunun için DataSource özelliğine OleDbCommand nesnesinin (Örneğimizde Komut isimli
değişken / nesne) ExecuteReader metodu ile dönen OleDbDataReader nesnesini atıyoruz.
*/
rptListe.DataSource = Komut.ExecuteReader();
/*
Repeater kontrolünün DataBind metodu, Repeater nesnesinin DataSource özelliğinde
(Bu özelliğe atanan OleDbDataReader'deki) tutulan kayıtları listeler
(Veileri doldur demek) ...
*/
rptListe.DataBind();
// İşin bitince bağlantıyı hemen kapat...
Baglanti.Close();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Repeater kontrolü...</title>
</head>
<body>
<form id="form1" runat="server">
<!--Repeater örneğimizde her kaydı bir tablo satırı olarak tekrar ettiriyoruz.
Bunun için başlık olarak kullanılmak üzere Repeater kontrolü tanımlamasından önce
bir HTML tablosu ve satırı tanımlıyoruz...-->
<table width="500" border="1">
<tr><td>Soyadı</td><td>Adı</td><td>Borcu</td></tr>
<asp:Repeater ID="rptListe" runat="server">
<!--Repeater kontrolü her kayıt için bizim tanımladığımız bir şablonu
kullanır (her kayıt için ItemTemplate etiketi içindeki bölümü tekrar eder).
Repeater kontorünün kullandığı HeaderTemplate (Başlık şablonu), FooterTemplate
(Altlık şablonu) ve AlternatingItemTemplate
(Alternatif eleman şablonu / kayıtlar için sırayla dönüşümlü olarak kullanılacak
ikinci bir şablon) gibi bir kaç şablon türü daha vardır. Bu konu ayrıca
incelenmelidir. Bizim örneğimizde, Repeater kontrolü her bir kayıt
için bir HTML tablo satırı oluşturacak ve bir tablo satırı bizim şablonumuz
olacaktır.-->
<ItemTemplate>
<tr>
<!--Repeater kontrolü sırayla kendisine yüklenen bütün kayıtlara konumlanarak,
her bir kayıt için buradaki şablonu tekrar eder. Bu arada alan adlarını bir yere
yazdırmak gerektiğinde aşağıdaki kod bloğu içindeki form kullanılır (Küçük ve
yüzde işaretleri arasındaki bölüm). -->
<td><%# DataBinder.Eval(Container.DataItem, "Soyadi") %></td>
<td><%# DataBinder.Eval(Container.DataItem, "Adi") %></td>
<td align="right"><%# DataBinder.Eval(Container.DataItem, "Borcu") %> TL</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</form>
</body>
</html>