Avatar billede travelnow Nybegynder
16. oktober 2006 - 16:05 Der er 1 løsning

Datalist i datalist og datasource er en klasse

Hvordan får jeg subject til at virke, det er nemmest at illustrere det med et simpelt eksempel.


  public class Customer
  {
    public string name;
    public List<Contact> ContactList;
  }
  public class Contact
  {
    public string TlfNummmer;
    public string MobilNr;
  }

Og i pageload

      protected void Page_Load(object sender, EventArgs e)
        {
          CustomerList = new List<Customer>();
          for (int i = 0; i < 5; i++)
          {
            Customer MyCustomer = new Customer();
            MyCustomer.name = "Jens" + i;
            MyCustomer.ContactList = new List<Contact>();
            for (int j = 0; j < 3; j++)
            {
              Contact MyContact = new Contact();
              MyContact.TlfNummmer = Convert.ToString(750000 + (i*100));
              MyContact.MobilNr = Convert.ToString(6120000 + (i*100));
              MyCustomer.ContactList.Add(MyContact);
            }
            CustomerList.Add(MyCustomer);
          }

          this.DataList1.DataSource = CustomerList;
          this.DataList1.DataBind();
          //this.ContactDatalist.DataSource = Contact;
          //this.ContactDatalist.Databind();

Og det her på Aspx siden

      <asp:DataList ID="DataList1" runat="server" >
      <ItemTemplate>
        <%# ((Customer)Container.DataItem).name %> 
        <asp:DataList ID="ContactDatalist" runat="server">
          <ItemTemplate>
            Telefon Nr. <%# ((Contact)Container.DataItem).TlfNummmer %><br />
            Mobil Nr. <%# ((Contact)Container.DataItem).MobilNr %>
          </ItemTemplate>
        </asp:DataList>   
      </ItemTemplate>
      </asp:DataList></div>

}

Det jeg vil er at vise en liste af navne plus deres kontaktpersoners tlf nr. lige under navnene.

Hvordan gør jeg det.?
Avatar billede travelnow Nybegynder
17. oktober 2006 - 10:49 #1
Har selv fundet ud af det, er faktisk meget simpel når man ved det.

<asp:DataList ID="DataList1" runat="server" OnItemDataBound="DataList1_ItemDataBound">

protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
  DataList Contactlist = (DataList)e.Item.FindControl("ContactDatalist");
  Contactlist.DataSource = ((Customer)e.Item.DataItem).ContactList;
  Contactlist.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
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