Avatar billede bongii Nybegynder
12. november 2009 - 08:43

c# Nested repeaters

Hej.

Jeg kan ikke få nested repeaters til at virke.
Jeg kan simpelthen ikke forstå hvorfor det skal være så svært.

Hvis der er flere orderlines tilknyttet ét orderid, får jeg denne fejl: Kolonnerne har ikke entydige værdier i øjeblikket.

(Et tillægsspørgsmål: Er der en der ved hvordan jeg udskriver fejlmeddelselser på engelsk) ?

<asp:Repeater ID="repMenu1" runat="server" OnItemDataBound="repMenu1_ItemDataBound">
        <ItemTemplate>
            <a href="#"><%#DataBinder.Eval(Container.DataItem, "aid")%></a>
            <asp:Repeater ID="repMenu2" runat="server">
                <HeaderTemplate><br /></HeaderTemplate>
                <ItemTemplate><div style="margin-left:15px;"><a href="#"><%#DataBinder.Eval(Container.DataItem, "bid")%></a><br /></div></ItemTemplate>
            </asp:Repeater>
        </ItemTemplate>
    </asp:Repeater>

protected void Page_Load(object sender, EventArgs e)
    {
SqlDataAdapter OL = new SqlDataAdapter("select top 5 a.orderid as aid, b.orderid as bid, b.productnumber from orders as a, orderlines as b where a.orderid = b.orderid order by a.orderid desc", _sqlConnectionToIN);
DataSet ds = new DataSet();
OL.Fill(ds);
ds.Relations.Add(new DataRelation("nestThem", ds.Tables[0].Columns["aid"], ds.Tables[0].Columns["bid"]));

repMenu1.DataSource = ds.Tables[0];
repMenu1.DataBind();
}

protected void repMenu1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        DataRowView dv = e.Item.DataItem as DataRowView;
        if (dv != null)
        {
            Repeater repSubMenu = e.Item.FindControl("repMenu2") as Repeater;
            if (repSubMenu != null)
            {
                repSubMenu.DataSource = dv.CreateChildView("nestThem");
                repSubMenu.DataBind();
            }
        }
    }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester