Hej, På din yttersta Repeater lägger du en ItemDataBind. I den funktionen kör du FindControl på den nästlade Repeatern och databinder den. Eller så låter du bli det ... Tackar för alla svar... Är det förresten nån som har nån idé om man inte vet hur många "nivåer" man har på sitt objekt och vill binda dessa till "X" antal nestlade Repeaters?Nästlade repeaters/griddar?
jag har hamnat i ett läge där jag måste ha nästlade repeaters.
En repeater bygger upp delar av sidan dynamiskt och i varje del ingår ytterligare en repeater.
Dessa skall bindas mot ett objekt som innehåller en samling objekt (DataTable) som i sin tur innehåller en samling objekt (DataTable). Behövs en djupare förklaring?
I alla fall hur fixar man detta på ett galant sätt?
/JockeSv: Nästlade repeaters/griddar?
Sv: Nästlade repeaters/griddar?
Jag skulle istället skapa en metod i min sidklass som returnerade de underliggande raderna, ex:
protected DataView GetChildView(object dataItem)
{
DataRowView drv = dataItem as DataRowView;
if (drv != null)
return drv.CreateChildView("myChildRelation");
else
return null;
}
sen är det lätt att i headern på den nästlade repeater-controlen binda mot returvärdet från metoden:
<asp:Repeater runat="server" EnableViewState="false"
DataSource='<%# GetChildView(Container.DataItem)%>'>
På det sättet så slipper du onödig invokering av DataBind eventet och ett onödigt anrop till FindControl som inte är grats.
Sv: Nästlade repeaters/griddar?
Hittade det klart enklaste bara jag fick bolla lite ideer.
Den innersta Repeatern fick följande Source i aspx sidan.
Här blev all kod.
.... datasource='<%#((company.companypartunit.PartUnit)Container.DataItem).Accounts%>' ...
mvh
Jocke
Sv: Nästlade repeaters/griddar?
Då man inte vet antalet "Childs" kan man ju heller inte skapa de nestlade Repeater.sena eller dess Templates i förväg.
Exempel på klass kan vara:
public class myData
public Name as String
public ID as integer
Public Child as myData
end class