Ana Sayfa » Ders Notları ve Örnekler » ASP.NET » Repeater Kontrolü İle Veritabanından Kayıt Listeleme

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>
İletişim : hazirsite@gmail.com