Avatar billede dampnet Nybegynder
20. januar 2004 - 09:48 Der er 4 kommentarer og
1 løsning

nested repeater og footertemplate data

Jeg har en forholdvis simple repeater som har en lille repeater inden i, jeg fylder så den inderste repeater med informationer omkring en "ordre", jeg smider et ordreid med til funktionen som informationerne bliver trukket ud af db'en på baggrund af. men jeg vil gerne bruge den integer på et link i footeren så ledes jeg kan lave en edit knap til orderen.

Håber der er nogen der kender en snedig løsning eller er det ikke muligt.

her er et forsimplet eks.
        <asp:Repeater id="Repeater1" runat="server">
            <HeaderTemplate>
                order
            </HeaderTemplate>
            <ItemTemplate>
                <%# DataBinder.Eval(Container.DataItem, "data") %>
                <asp:Repeater runat="server" DataSource='<%# BindChildOrderListe(Ctype(DataBinder.Eval(Container.DataItem,"ordreid"), Integer)) %>'>
                    <HeaderTemplate>
                        <table>
                            <tr>
                                <td></td>
                            </tr>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <tr>
                            <td>
                                <%# DataBinder.Eval(Container.DataItem, "ejer") %></td>
                            </tr>
                    </ItemTemplate>
                    <FooterTemplate>
                        <tr>
                            <td>
<!-- dette er det som jeg ikke kan finde nogen lsøning på. -->
                                <asp:HyperLink runat="server" navigateurl='<%# DataBinder.Eval( Container.DataItem, "ordreid", "addorder.aspx?ordreid={0}" ) %>'>tilføj bestilling</asp:HyperLink>

                            </td>
                        </tr>
                        </table>
                    </FooterTemplate>
                </asp:Repeater>
            </ItemTemplate>
            <FooterTemplate>
                så er det slut.
            </FooterTemplate>
        </asp:Repeater>

håber der er nogen der kan hjælpe mig med en løsning.
Avatar billede mufoxe Nybegynder
20. januar 2004 - 10:36 #1
Du kan binde dine ordreinformationer på en meget nemmere måde: http://support.microsoft.com/default.aspx?scid=kb;EN-US;306154
Avatar billede dampnet Nybegynder
20. januar 2004 - 14:07 #2
Det hjælper ikke på mit problem med at skrive en variable ud i footerTemplate i den inderste repeater.
Avatar billede uc Nybegynder
20. januar 2004 - 20:45 #3
Ved ikke helt om det virker,

//I BindChildOrderListe

link1.Navigateurl = "addorder.aspx?ordreid={ordreid}";

//I html koden
<asp:HyperLink runat="server id="link1" >tilføj bestilling</asp:HyperLink>

Link1/ordreid vil blive bundet, hver gang BindChildOrderListe bliver kaldt.
Det kunne være, at link1.Navigateurl = "addorder.aspx?ordreid={ordreid}";
kunne ligge et andet sted hvor ordreid var tilstede.?
Avatar billede dampnet Nybegynder
22. januar 2004 - 16:09 #4
uc : ide'en er god, men jeg får nu problemet at jeg ikke har declaret min webcontrol.

jeg er stadig lidt begynder :) så kommentare omkring dårlig opbygning vil jeg da ikke feje af vejen. Her kommer min nested repeater og de 2 funktioner som fylder data i.

    Function BindOrderListe()

        dbconnection.Open()

        dim madDataset As New DataSet
        dim strSql As String = "SELECT ordreid, Dato, lev_tid as [Tid], antalbestillinger as [Antal], Spisested, Ansvarlig FROM MadOrdre"
        dim dbdataadapter As OleDbDataAdapter = New OleDbDataAdapter(strSql,dbconnection)
        dbdataadapter.Fill(madDataset, "MadOrdre")
        ordre.DataSource = madDataset.Tables("MadOrdre")
        ordre.DataBind()

        dbconnection.Close()

    End Function

    Function BindChildOrderListe(ByVal intPK As Integer) As DataSet
        dim underMadDataset as new DataSet
        dim strSql As String = "SELECT * FROM underMadOrdre WHERE ordreid =" & intPK
        dim dbdataadapter As OleDbDataAdapter = New OleDbDataAdapter(strSql,dbconnection)
        dbdataadapter.Fill(underMadDataset, "underMadOrdre")
        tilfoejordre.Navigateurl = "tilfoejordre.aspx?ordreid=" & intPK
        Return underMadDataset
    End Function
<---------------------------------------------
<asp:Repeater id="ordre" runat="server">
            <HeaderTemplate>
                <table class="datatable" cellpadding="0" cellspacing="0">
                    <tr>
                        <td width="40">
                            <img border="0" src="../images/opnbookr.gif" width="24" height="22" /></td>
                        <td width="90">
                            Dato</td>
                        <td width="50">
                            Tid</td>
                        <td width="50">
                            Antal</td>
                        <td width="100">
                            Spisested</td>
                        <td width="100">
                            Ansvarlig</td>
                        <td width="160">
                            Funktioner</td>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td>
                        <img border="0" src="../images/noder.gif" width="16" height="22" /><img border="0" src="../images/txtdoc.gif" width="24" height="22" /></td>
                    <td>
                        <%# DataBinder.Eval(Container.DataItem, "dato") %></td>
                    <td>
                        <%# DataBinder.Eval(Container.DataItem, "tid") %></td>
                    <td>
                        <%# DataBinder.Eval(Container.DataItem, "antal") %></td>
                    <td>
                        <%# DataBinder.Eval(Container.DataItem, "spisested") %></td>
                    <td>
                        <%# DataBinder.Eval(Container.DataItem, "ansvarlig") %></td>
                    <td>
                        <asp:HyperLink runat="server" navigateurl='<%# DataBinder.Eval( Container.DataItem, "ordreid", "java script:switchVisible({0});" ) %>'>vis</asp:hyperlink>
                        |
                        <asp:HyperLink runat="server" navigateurl='<%# DataBinder.Eval( Container.DataItem, "ordreid", "?ordreid={0}" ) %>'>ret</asp:hyperlink>
                    </td>
                </tr>
                <tr>
                    <td colspan="7" class="struktur_backline">
                        <table class="datatable" id='<%# DataBinder.Eval(Container.DataItem, "ordreid") %>' style="display: none;">
                            <tr>
                                <td>
                                    <asp:Repeater runat="server" DataSource='<%# BindChildOrderListe(Ctype(DataBinder.Eval(Container.DataItem,"ordreid"), Integer)) %>'>
                                        <HeaderTemplate>
                                            <table class="datatable" cellpadding="0" cellspacing="0">
                                                <tr>
                                                    <td width="12"></td>
                                                    <td width="40" class="struktur_backline"></td>
                                                    <td width="100">
                                                        Ejer</td>
                                                    <td width="100">
                                                        Bestilling</td>
                                                    <td width="100">
                                                        Kommentar</td>
                                                    <td width="100">
                                                        &</td>
                                                </tr>
                                        </HeaderTemplate>
                                        <ItemTemplate>
                                            <tr>
                                                <td></td>
                                                <td>
                                                    <img border="0" src="../images/noder.gif" width="16" height="22" /><img border="0" src="../images/txtdoc.gif" width="24" height="22" /></td>
                                                <td>
                                                    <%# DataBinder.Eval(Container.DataItem, "ejer") %></td>
                                                <td>
                                                    <%# DataBinder.Eval(Container.DataItem, "bestilling") %></td>
                                                <td>
                                                    <%# DataBinder.Eval(Container.DataItem, "kommentar") %></td>
                                                <td>
                                                    <%# DataBinder.Eval(Container.DataItem, "underOrder") %></td>
                                            </tr>
                                        </ItemTemplate>
                                        <FooterTemplate>
                                                <tr>
                                                    <td><asp:HyperLink runat="server" id="tilfoejordre">tilfoej ordre</asp:HyperLink></td>
                                                </tr>
                                            </table>
                                        </FooterTemplate>
                                    </asp:Repeater>
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </ItemTemplate>
            <FooterTemplate>
                <tr>
                    <td>
                        <img border="0" src="../images/lstnoder.gif" width="16" height="22" /><img border="0" src="../images/txtdoc.gif" width="24" height="22" /></td>
                    <td colspan="6">
                        <a href="ordre.aspx">opret ny ordre</a></td>
                </tr>
                </table>
            </FooterTemplate>
        </asp:Repeater>
Avatar billede dampnet Nybegynder
10. februar 2004 - 17:22 #5
nå jeg lukker.
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