2 Ağustos 2017 Çarşamba

İç İçe Repeater Kullanımı (Entity Framework ile)

İçiçe repeater bir liste içerisinde ayrı bir alt sıralama yapılacağında kullanılır. Blokların içinde odaların, yemeklerin içinde çorbaların sıralanması gibi. Bir nevi alt kategori kullanımıdır.

Örnek Blok ve bu bloğa bağlı odaların içiçe repater kullanılarak sıralanmasını göstermektedir.

Veritabanı Tabloları;



WebForm.aspx




 <form id="form1" runat="server">
        <div>

            <asp:Repeater ID="DisRepeater" onitemdatabound="DisRepeater_ItemDataBound" runat="server">
                <ItemTemplate>
                   <br /><br /> <%#Eval ("BlokAd")%> <br /><br />
                    <asp:Repeater ID="IcRepeater" runat="server">
                        <ItemTemplate>
                            <%#Eval("OdaAd") %><br />
                        </ItemTemplate>
                    </asp:Repeater>
                </ItemTemplate>

            </asp:Repeater>
        </div>
    </form>


WebForm.aspx.cs



  public partial class WebForm1 : System.Web.UI.Page
    {
        baglan bag = new baglan();
        DenemeContext ct = new DenemeContext();
        protected void Page_Load(object sender, EventArgs e)
        {
            DisRepeater.DataSource = Erdi.EF.Bloks.Select(x => new { x.BlokAd,x.BlokID}).ToList();
            DisRepeater.DataBind();
        }

        protected void DisRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
       int  BlokId= Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "BlokID"));
            Repeater rp = (Repeater)e.Item.FindControl("IcRepeater");
            rp.DataSource = Erdi.EF.Odas.Where(x => x.BlokId == BlokId).Select(y => new { y.OdaAd }).ToList();
            rp.DataBind();
        }
    }


Sonuç;


Paylaş:

0 yorum:

Yorum Gönder