Avatar billede trine_h Nybegynder
18. december 2003 - 15:39 Der er 2 kommentarer og
1 løsning

repeater med 2 tabeller i

Hvordan laver jeg en repeater control som indeholder kald til 2 tabeller - tabelrelationen er en 1 til mange relation. Tabel2 har mange poster hvis foreign key peger på én post i tabel1..

Skal der 2 repeater controls til - hvor det ene der har mange poster for hver post i tabel1 - er inde i det andet repeater komponent?
Undskyld hvis det er forvirrende - jeg plejer at lave det som 2 loops i asp - men i asp.net er jeg ikke helt med...
Avatar billede burningice Nybegynder
18. december 2003 - 15:49 #1
det er ikke umuligt at lave det som to repeatere... dog vil jeg lave repeater nr. 2 som en usercontrol (ascx) og indsætte den i repeater nr. 1 ved hjælp af ItemBound-eventen
Avatar billede mufoxe Nybegynder
18. december 2003 - 16:45 #2
Du kan neste repeatere inden i hinanden.

<asp:Repeater>
  <ItemTemplate>
    <asp:Repeater>
    </asp:Repeater>
  </ItemTemplate>
</asp:Repeater>
Avatar billede pelkjaer Nybegynder
19. december 2003 - 09:00 #3
Som mufoxe skriver, kan du nested 2 repeatere. Dette kan gøre ved at oprette en relation, og give din nested repeater den anden som datasource. Et eksempel:

// Et dataset er oprettet, og der er fyldt 2 tabeller deri


// Opret relation mellem Master og Detail
ds.Relations.Add("rel",
  ds.Tables["Main"].Columns["ID"],
  ds.Tables["Detail"].Columns["MasterID"]);

// Bind Data til Master Repeater
Repeater_Master.DataSource = ds.Tables["Main"];
Page.DataBind();

<asp:Repeater runat="server" id="Repeater_Master">
  <ItemTemplate><%# DataBinder.Eval(Container.DataItem, "MasterDataFelt") %><br>
    <asp:Repeater runat="server" id="Repeater_Detail" DataSource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("rel") %>'>
      <ItemTemplate><%# DataBinder.Eval(Container.DataItem, "[\"SubDataFelt\"]") %></ItemTemplate>
    </asp:Repeater>
  </ItemTemplate>
</asp:Repeater>
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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