none
İç İçe 3 Repeater Yapımı RRS feed

  • Soru

  • Merhaba iç içe 3 tane repeater  yapmam gerekiyor 2.yi yapıyorum falat 3. repeater'a giremiyorum yardımlarınız için şimdiden teşekkürler.
    18 Eylül 2014 Perşembe 13:00

Yanıtlar

  • Aslında daha önce de dediğim gibi çalışması lazım ancak çalışmıyorsa şu aşağıdaki linklere göz atın

    http://stackoverflow.com/questions/10388520/3-nested-repeaters-with-sql-tables

    http://www.codeproject.com/Tips/563919/Nested-Repeater-Controls-in-ASP-NET

    http://msdn.microsoft.com/en-us/library/aa478959.aspx

    umarım işinize yarar.


    Just a .net developer.

    19 Eylül 2014 Cuma 07:20

Tüm Yanıtlar

  • birincinin itemdatabound'una girip oradan ikinci repater için işlem yaptırıyorsun ya (muhtemelen) bu sefer ikincinin de itemdatabounduna girip üçüncü için işlem yaptıracaksın.

    Just a .net developer.

    18 Eylül 2014 Perşembe 13:05
  • Merhaba;

    2. yi nasıl yapıyorsunuz.

    Kolay Gelsin.


    HNG ═══ᵌ Ữ

    18 Eylül 2014 Perşembe 13:05
  • protected void Repear1_ItemDataBound(object sender, RepeaterItemEventArgs e) { Repeater Repeater2= (Repeater)e.Item.FindControl("Repear2"); using (DataClasses1DataContext db = new DataClasses1DataContext()) { _Repeater2.DataSource = db.Antrenmanlars.Where(x => x.TeorikTesisId == Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "ID").ToString())); _Repeater2.DataBind(); }


    Repear1 ItemDataBound da Repeater2 yi tanımlıyorsunuz ve içine verileri çekiyorsunuz falat 3. ye aynısı olmuyor
    18 Eylül 2014 Perşembe 13:17
  • Merhaba;

    Yöntem çok uygun gelmedi ama sizin için uygunsa karar sizin.

    Bence

    Parent 'i

    incelemelisiniz.

    Kolay Gelsin.


    HNG ═══ᵌ Ữ

    18 Eylül 2014 Perşembe 13:20
  • 2. repeater için yukarıda ki kod hep işimi gördu sanırım bunun 3. içinde bir yöntemi vardır.
    18 Eylül 2014 Perşembe 13:24
  • Merhaba;

    Amacım işinize ve yönteminize karışmak değil.

    yinede Parent 'e bir göz atın isterseniz.

    Kolay Gelsin.


    HNG ═══ᵌ Ữ

    18 Eylül 2014 Perşembe 13:26
  • Bir örnek gönderebilir misiniz?
    18 Eylül 2014 Perşembe 13:29
  • Teşekkür ederim fakat bunu bu projede kullanabileceğimi sanmıyorum.
    18 Eylül 2014 Perşembe 13:49
  • 2. repeater'e itemdatabound fonkisyonu tanımla ve üçüncü repeateri kullan :) Yani 

    protected void Repear2_ItemDataBound(object sender, RepeaterItemEventArgs e)
            {
                Repeater Repeater3= (Repeater)e.Item.FindControl("Repear3");
               using (DataClasses1DataContext db = new DataClasses1DataContext())
                {
                    _Repeater3.DataSource = db.Antrenmanlars.Where(x => x.TeorikTesisId == Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "ID").ToString()));
                    _Repeater3.DataBind();
                }
    

    ve sayfa içerisinde repeater2 ye onItemDatabound fonksiyonu tanımla.


    Just a .net developer.

    18 Eylül 2014 Perşembe 13:54
  • Bu dediğinizi de denedim herşey normal gibi gözüküyor ama 3. repeater a verileri yazmıyor. Yinede teşekkürler. :)

    18 Eylül 2014 Perşembe 14:01
  • Bu belirttiğim şekilde yaptığınız kodları görebilirmiyim ? Muhtemelen yazdığınız bir yerde hata var. Çünkü çok önceden ben aynen belirttiğim şekilde kullanıyordum.

    Just a .net developer.

    18 Eylül 2014 Perşembe 14:18
  • protected void rptSalonlar_ItemDataBound(object sender, RepeaterItemEventArgs e)
            {
                Repeater rptGunler = (Repeater)e.Item.FindControl("rptGunler");
                HiddenField _hdnTesisID = (HiddenField)e.Item.FindControl("hdnTesisID");
                using (DataClasses1DataContext db = new DataClasses1DataContext())
                {
                    rptGunler.DataSource = db.Antrenmanlars.Where(x => x.TeorikTesisId == Convert.ToInt32(_hdnTesisID.Value));
                    rptGunler.DataBind();
                }
                rptGunler.ItemDataBound += rptGunler_ItemDataBound;
            }
    
            protected void rptGunler_ItemDataBound(object sender, RepeaterItemEventArgs e)
            {
                Repeater _rpticerikler = (Repeater)e.Item.FindControl("rpticerikler");
                HiddenField _hdnTesisID = (HiddenField)e.Item.FindControl("hdnTesisId2");
                using (DataClasses1DataContext db = new DataClasses1DataContext())
                {
                    _rpticerikler.DataSource = db.Antrenmanlars.Where(x => x.TeorikTesisId == Convert.ToInt32(_hdnTesisID.Value));
                    _rpticerikler.DataBind();
                }
            }

    Bu şekilde kullanmıştım içine giriyor kodların ama rptGunler yokmuş gibi davranıyor.
    18 Eylül 2014 Perşembe 14:24
  • Birde aspx tarafındaki kodlarını görebilirmiyim ?

    Just a .net developer.

    18 Eylül 2014 Perşembe 14:30
  • <asp:Repeater runat="server" ID="rptSalonlar" OnItemDataBound="rptSalonlar_ItemDataBound">
                        <ItemTemplate>
                            <h3><%# Eval("TesisAd") %></h3>
                            <asp:HiddenField ID="hdnTesisId" runat="server" Value='<%# Eval("Id") %>' />
                            <asp:Repeater runat="server" ID="rptGunler" OnItemDataBound="rptGunler_ItemDataBound">
                                <ItemTemplate>
                                    <asp:HiddenField ID="hdnTesisId2" Value='<%#Eval("Id") %>' runat="server" />
                                    <div class="kutu">
                                        <p style="width: 14%;"><%# Eval("Tarih", "{0:dd.MM.yyyy}") %></p>
    
                                        <asp:Repeater runat="server" ID="rpticerikler">
                                            <ItemTemplate>
                                                <asp:HiddenField ID="hdnTesisId" runat="server" Value='<%# Eval("Id") %>' />
                                                <div class="icerikleri">
                                                    <p><%#Eval("Tarih", "{0: HH.mm}") %></p>
                                                    <p><%#Eval("Baslik") %></p>
                                                    <p><%#Eval("KatId") %></p>
                                                    <p>Basketbool</p>
                                                </div>
                                            </ItemTemplate>
                                        </asp:Repeater>
    
                                    </div>
                                </ItemTemplate>
                            </asp:Repeater>
                        </ItemTemplate>
                    </asp:Repeater>

    Görünümdeki yapı gereği 3 repeter olması gerekiyor
    18 Eylül 2014 Perşembe 14:45
  • Aşağıda aspx kodlarınız bulunmakta.

    <asp:Repeater runat="server" ID="rptSalonlar" OnItemDataBound="rptSalonlar_ItemDataBound">
    	<ItemTemplate>
    	
    		<h3><%# Eval("TesisAd") %></h3>
    		<asp:HiddenField ID="hdnTesisId" runat="server" Value='<%# Eval("Id") %>' />
    		
    		<asp:Repeater runat="server" ID="rptGunler" OnItemDataBound="rptGunler_ItemDataBound">
    			<ItemTemplate>
    			
    				<asp:HiddenField ID="hdnTesisId2" Value='<%# Eval("Id") %>' runat="server" />
    				<div class="kutu">
    					<p style="width: 14%;"><%# Eval("Tarih", "{0:dd.MM.yyyy}") %></p>
    
    					<asp:Repeater runat="server" ID="rpticerikler">
    						<ItemTemplate>
    							<asp:HiddenField ID="hdnTesisId3" runat="server" Value='<%# Eval("Id") %>' />
    							<div class="icerikleri">
    								<p><%#Eval("Tarih", "{0: HH.mm}") %></p>
    								<p><%#Eval("Baslik") %></p>
    								<p><%#Eval("KatId") %></p>
    								<p>Basketbool</p>
    							</div>
    						</ItemTemplate>
    					</asp:Repeater>
    
    				</div>
    				
    			</ItemTemplate>
    		</asp:Repeater>
    		
    	</ItemTemplate>
    </asp:Repeater>

    Birde bunlar var. :)

    protected void rptSalonlar_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
    	Repeater rptGunler = (Repeater)e.Item.FindControl("rptGunler");
    	HiddenField _hdnTesisID = (HiddenField)e.Item.FindControl("hdnTesisID");
    	using (DataClasses1DataContext db = new DataClasses1DataContext())
    	{
    		rptGunler.DataSource = db.Antrenmanlars.Where(x => x.TeorikTesisId == Convert.ToInt32(_hdnTesisID.Value));
    		rptGunler.DataBind();
    	}
    }
    
    protected void rptGunler_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
    	Repeater _rpticerikler = (Repeater)e.Item.FindControl("rpticerikler");
    	HiddenField _hdnTesisID = (HiddenField)e.Item.FindControl("hdnTesisId2");
    	using (DataClasses1DataContext db = new DataClasses1DataContext())
    	{
    		_rpticerikler.DataSource = db.Antrenmanlars.Where(x => x.TeorikTesisId == Convert.ToInt32(_hdnTesisID.Value));
    		_rpticerikler.DataBind();
    	}
    }

    Bu şekilde deneyin olmazsa uzaktan bağlanıp bakalım. halitcolak06 [at] hotmail com :)


    Just a .net developer.


    18 Eylül 2014 Perşembe 15:11
  • Proje iş bilgisayarında uzaktan bağlantı sıkıntı olabilir vaktiniz varsa bana bir örnek gönderebilirmisiniz. yardımlarınız için teşekkürler.
    19 Eylül 2014 Cuma 06:52
  • Aslında daha önce de dediğim gibi çalışması lazım ancak çalışmıyorsa şu aşağıdaki linklere göz atın

    http://stackoverflow.com/questions/10388520/3-nested-repeaters-with-sql-tables

    http://www.codeproject.com/Tips/563919/Nested-Repeater-Controls-in-ASP-NET

    http://msdn.microsoft.com/en-us/library/aa478959.aspx

    umarım işinize yarar.


    Just a .net developer.

    19 Eylül 2014 Cuma 07:20
  • Yardımlarınız için teşekkürler. En kısa zamanda inceleyeceğim.
    19 Eylül 2014 Cuma 07:58
  • Tekrar teşekkürler örneklerden hallettim.
    19 Eylül 2014 Cuma 11:54
  • Merhaba,

    Problemi nasıl çözdünüz.Açılır menü yapımında bende aynı problemi yaşıyorum. 

    Anakategori>1.altkategori>1.1.alt kategori 

    ana kategori ve alt kategoriyi getiriyorum fakat altın alt kategorisini getirmiiyor

     protected void Repeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            try
            {
                if (baglan.State == ConnectionState.Closed)
                {
                    baglan.Open();
                }

                
                int kat = Int32.Parse(DataBinder.Eval(e.Item.DataItem, "id").ToString());
                Repeater rp = (Repeater)e.Item.FindControl("Repeater3");
                SqlCommand cmd = new SqlCommand("select * from iceKategoriler  where anakategoriid='" + kat + "'", baglan);
                rp.DataSource = cmd.ExecuteReader();
                rp.DataBind();
                cmd.Dispose();
                baglan.Close();


            }
            catch
            {
                baglan.Close();
            }
        }

    26 Temmuz 2015 Pazar 13:21