Avatar billede simsen Mester
09. februar 2008 - 23:23 Der er 2 kommentarer og
1 løsning

Problemer med nested repeater

Hej,

Jeg forsøger at lege med nested repeater. Jeg har en overordnet repeater, hvor jeg lister fejl (tabel1). Til hver fejl, er der en fil liste (tabel2) der har to entries errorCyklusId og fileName

Den overordnede repeater lister alle fejl. Hver række med fejl har sin unikke errorCyklusId. Min nestede repeater skal så liste alle fil navne fra tabel to, der passer til hver række.

Jeg har brug for at finde ud af, hvordan jeg i ItemDataBound kan finde den overordnedes repeater errorcyklusId og hvordan jeg forøvrigt kan tilgå en kontrol (i dette her tilfælde en hyperlink kontrol) fra ItemDataBound

Min kode ser ud som følgende:

protected void repDetails_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        //int errorCyklusId = Convert.ToInt32(e.CommandArgument);

        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            try
            {
                ERSError error = new ERSError();

                DataTable filelist = null;

                if (error.GetFileList(1, ref filelist) == Status.Success)
                {
                    int companyid = Convert.ToInt32(Session[ERSConnect.CookieCompanyId]);

                    RepeaterItem item = e.Item;
                    Repeater repFiles = item.FindControl("repFiles") as Repeater;
                    repFiles.DataSource = filelist.DefaultView;
                    repFiles.DataBind();
                }
            }
            catch
            { }
        }
    }

Som I kan se har jeg udkommenteret int errorCyklusId linien, da den fejler og siger, den ikke kender e.CommandArgument.....

Så jeg har hardkodet et 1 tal ind, hvor jeg henter tabellen og det virker som sådan også.....jeg får hver gang uanset hvilken række de to samme filnavne ud.......det er jo knap så smart ;-)

Som sagt - hvordan får jeg fat i den pågældende rækkes errorCyklusId og hvordan tilgår jeg <asp:HyperLink ID="lnkFile" runat="server" Text='<%# Eval("fileName") %>' Target="_blank" NavigateUrl=""></asp:HyperLink> fra ItemDataBound?

mvh
simsen :-)
Avatar billede mikalj Nybegynder
19. februar 2008 - 09:04 #1
HyperLink hl = (HyperLink)e.Item.FindControl("lnkFile");
Avatar billede simsen Mester
23. februar 2008 - 20:04 #2
mikalj

Hejsa

Lidt sent, jeg har set, du har svaret - men ja - var FindControl til begge mine spørgsmål - tak og smid et svar....

mvh
simsen :-)
Avatar billede simsen Mester
05. marts 2008 - 13:57 #3
lukker - kontakt mig, hvis du vil have dine points :-)
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