Jag behöver hjälp med att göra en repeater i en repeater. Principen är ungefär så här: Aah. Okej. Det ser inte ut att vara några större problem, förutom.: Nej, det var bara ett fiktivt exempel! Jag har följande kod nu: Du har vänt på det, borde väl vara:nested repeater
    
    
Jag har börjar med följande kod:
http://www.aspsidan.se/code/default.asp?c=5229
Kan jag bygga ut den  och skapa en relation mellan förälder och barn repeatern?
Jag vet dock inte hur och det är där ni kommer in, hur gör jag?Sv: nested repeater
    
    
<code>
    Sub ItemDataBoundEventHandler(ByVal sender As Object, ByVal e As RepeaterItemEventArgs)
        If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
            Dim OrderID As String
            OrderID = DataBinder.Eval(e.Item.DataItem, "OrderID")
            Dim childRepeater As Repeater = CType(e.Item.FindControl("rptOrderItems"), Repeater)
            childRepeater.DataSource = DataLayer.GetOrderItems(OrderID)   
            childRepeater.DataBind()
        End If
    End Sub
</code>Sv:nested repeater
    
    
Vad ska jag sätta child repeaterns datasource till i mitt fall?
Jag har skrivit så här:
Dim imgID As String
imgID = DataBinder.Eval(e.Item.DataItem, "imageid")
Dim child As Repeater = CType(e.Item.FindControl("ads"), Repeater)
child.DataSource = datalayer.GetOrderItems(imgID)
child.DataBind()
Är detta rätt?
    Sv: nested repeater
    
    
Som Datasource använder du t.ex. Datareader eller DataTable.Sv: nested repeater
    
    
<%@ Page Language="vb" Debug="true" %>
<%@ import Namespace="System.Data.SqlClient" %>
<%@ import Namespace="System.Data" %>
<script runat="server">
    Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim cnn As SqlConnection = New SqlConnection("server=xx;database=xx;uid=xx_xx;pwd=xx_x;")
        Dim cmd1 As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM tblpcUser", cnn)
        Dim ds As DataSet = New DataSet()
        cmd1.Fill(ds, "tblpcuser")
        Dim cmd2 As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM tblcompany", cnn)
        cmd2.Fill(ds, "tblCompany")
        ds.Relations.Add("myrelation", _
        ds.Tables("tblpcuser").Columns("CompanyID"), _
        ds.Tables("tblCompany").Columns("CompanyID"))
        parentRepeater.DataSource = ds.Tables("tblpcuser")
        Dim childrepeater As repeater = CType(parentrepeater.FindControl("child"), repeater)
        childrepeater.DataSource = ds.Tables("tblCompany")
        Page.DataBind()
        cnn.Close()
    End Sub
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 transitional//EN"
	 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>FAQ</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<asp:Repeater id="parentrepeater" runat="server" Visible="true">
        <ItemTemplate>
            <p><b><%# DataBinder.Eval(Container.DataItem, "Firstname") %></b></p>
            <asp:Repeater id="child" runat="server" datasource='<%# Container.DataItem.Row.GetChildRows("myrelation") %>'>
            <ItemTemplate>
            <%# Container.DataItem("CompanyName") %>
            </ItemTemplate>
            </asp:Repeater>
        </ItemTemplate>
    </asp:Repeater>
</body>
</html>
Men får felmeddelandetThese columns don't currently have unique values. 
Line 14:         cmd2.Fill(ds, "tblCompany")
Line 15: 
Line 16:         ds.Relations.Add("myrelation", _
Line 17:         ds.Tables("tblpcuser").Columns("CompanyID"), _
Line 18:         ds.Tables("tblCompany").Columns("CompanyID"))
 
Vad gör jag för fel?
    Sv:nested repeater
    
    
ds.Relations.Add("myrelation", _
ds.Tables("tblCompany").Columns("CompanyID"), _
ds.Tables("tblpcuser").Columns("CompanyID"))
Alltså company ska vara förälder till user (1:M)