İÇ İÇE REPEATER KULLANIMI (repeater içinde repeater)

Merhabalar makaleme tekrar hoşgeldiniz.

Bu makalemde sizlere repeater  içinde repeater a erişmeyi kullanmayı göstericem.

Repeater nesnesinden daha önce bahsetmiştik fakat tekrar edelim. 

Bu nesnemiz Toolbox ın içinde bulunan veritabanından çekmiş olduğumuz verileri gösterebilmek için bir kaç çeşit kontrollerden biridir.

 Repeater kontrolü ASP.NET ortamında veri listeleme kontrolleri içinde en basit olanıdır. 

Repeater kontrolünün < HeaderTemplate >,< ItemTemplate >,< AlternatingItemTemplate >,< SeparatorTemplate >   ve < FooterTemplate > gibi şablonları var.

Bizi < ItemTemplate > ilgilendiriyor.

 Repeater kontrolünün şablonlarına ek olayları ve özellikleride vardır . Ben olayları yani EVENT larından bahsedicem az bişey konu ile alakalı çünkü...

Bu Event lar yani olaylar

ItemCommand > Düğme tıklatıldığında gerçekleşir Repeater Denetim.

ItemCreated > Bir öğe oluşturulduğunda gerçekleşir Repeater Denetim.

ItemDataBound > Bir öğeden sonra gerçekleşir Repeater veri bağlama denetimi, ancak önce onu işlenen sayfasında.

Load > Sunucu denetimi yüklendiğinde oluşur 

Olaylarla ilgili daha fazla bilgim olsun diyorsanız  Microsorf Developer Network Repeater Olayları incelemenizde fayda var.

Bu Event lardan bize yardımcı olcak ItemDataBound dur.


DEFAULT.ASPX >> BODY TAGLARIN ARASINA 

<ul class="kitaplar">
                    <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
                        <ItemTemplate>
                            <li><a href="#"><%#Eval("KatagoriTitle")%></a>
                                <ul>
                                    <asp:Repeater ID="Repeater2" runat="server">
                                        <ItemTemplate>
                                            <li><a href="Detay?Reponder=<%#Eval("IDKatagori")%>"><%#Eval("KDetayTitle")%></a></li>
                                        </ItemTemplate>
                                    </asp:Repeater>
                                </ul>
                            </li>
                        </ItemTemplate>
                    </asp:Repeater>
                </ul>

Böylelikle iki Repeatterımızıda eklemiş olduk Form etiketlerin içinde olması lazım bunuda not edelim.

DEFAULT.ASPX.CS >> PAGE LOAD 

 string SqlKatagori = @"SELECT * FROM TB_Katagori";
            SqlCommand Sqlcmm = new SqlCommand(SqlKatagori,CDB);
            CDB.Open();
            SqlDataReader SqlRead = Sqlcmm.ExecuteReader();
            Repeater1.DataSource = SqlRead;
            Repeater1.DataBind();
            SqlRead.Close();
            CDB.Close();

Böylelikle ilk Repeater1 nesnemizin içini veritabanında gelen bilgilerle doldurduk. Devam edelim.

Repeater1 nesnemizin üstüne tıklayıp PROPERTIES bölümene gelelim ordan EVENT olaylara tıklayalım şimşek simgesi :)

ItemDataBound u bulalım çift tıklayalım.

DEFAULT.ASPX.CS >> Repeater1_ItemDataBound içine

 protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            Repeater Rpt = (Repeater)e.Item.FindControl("Repeater2");
            CDBb.Open();
            string SqlKDetay= @"SELECT * FROM TB_KatagoriDetay WHERE IDKatagori="+Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "IDKatagori").ToString());
            SqlCommand Sqlcm =new SqlCommand(SqlKDetay, CDBb);
            Rpt.DataSource = Sqlcm.ExecuteReader();
            Rpt.DataBind();
            Sqlcm.Dispose();
            CDBb.Close();
        }

Bu şekilde repeatter 1 e gelen bilgiyi listeledik seçilen IDye göre alt katagorideki bilgileri çektik.

 Makaleyi okuduğunuz için Teşekkür ederim .

Dosyaları indirebileciğiniz linkler...

REKLAM İSTERİM DERSENİZ cool

http://kimechanic.com/NkQ

REKLAM İSTEMEM DERSENİZ crying

https://yadi.sk/d/SMju7Cce3N2FeY

BEN GÖRMEKTE İZLEMEKTE İSTİYORUM DERSENİZ VİDEO wink

 

Soru Sorun !