Merhabalar Arkadaşlar,
Bu yazımızda repeater içinde repeater kullanımına bakacağız.
Örneğimizde kategoriler ve o kategorinin içinde ürünleri gösterelim.
Dış repeater kategorileri çekecek (rptKategoriler), İç repeater (rptUrunler) ise (alacağı kategoriID ile) o kategorideki ürünleri listeleyecek.
- Page_Load da Tüm kategorilerimizi rptKategoriler içine aktarıyoruz.
- rptKategoriler içindeki her bir kategorinin kategoriID sini yakalamak için ItemDataBound Event ini kullanımıyoruz.
- kategoriID yi DataBinder ile bulup değişken içine aktarıyoruz.
- rptUrunler repeater ı iç repeater olduğundan görülmeyecektir. ismi ile arayıp buluyoruz.
- rp repeater ı içine aktarıyoruz.
- o kategoriID ile ilgili ürünleri repeater a DataBind ediyoruz.
Herkese İyi çalışmalar dilerim.
protected void Page_Load(object sender, EventArgs e)
{
baglan bag=new baglan();
rptKategoriler.DataSource = bag.tablo_getir("tumKategoriler");
rptKategoriler.DataBind();
}
protected void rptKategoriler_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
baglan bag=new baglan();
int kategoriID = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "kategoriID").ToString());
object[,] icerik = new object[,] {{"@kategoriID",kategoriID} };
Repeater rp = (Repeater)e.Item.FindControl("rptUrunler");
rp.DataSource = bag.tablo_getir(icerik,"urunleriGetirKategorili");
rp.DataBind();
}
create proc tumKategoriler
as
select * from kategoriler
create proc urunleriGetirKategorili
@kategoriID int
as
select * from urunler where kategoriID=@kategoriID
ConversionConversion EmoticonEmoticon