Avatar billede simsen Mester
06. maj 2007 - 09:11 Der er 7 kommentarer og
2 løsninger

Præsentere data fra datatable i en tabel

Hejsa,

Jeg har en datatable med en række navne, jeg gerne vil have præsenteret på følgende måde

*************************************
*Alligatorer...*Bavianer...*Får.....*
*Grise.........*Heste......*Køer....*
*Løver.........
*************************************

Altså jeg vil have dem udskrevet pkt. 1 som et linkbutton og pkt. 2 alfabetisk men sådan at der er 3 kolonner hele tiden. Altså der skal - hvis det var en tabel - en ny <tr> efter hver 3. td

Jeg ved så ikke om jeg skal smide det ind i en repeater (eller hvad?) og hvordan jeg får programmeret det, så der kommer en </tr></tr> efter hver 3. entry fra databasen

Nogen der kan give mig nogen idéer omkring dette?

mvh
simsen :-)
Avatar billede dr_chaos Nybegynder
06. maj 2007 - 09:33 #1
lav en simpel datasource og smid det i en repeater.
Jeg mener at den har en property kaldet repeatcoloumns
Avatar billede snepnet Nybegynder
06. maj 2007 - 13:33 #2
ikke en repeater... det er en DataList der giver den mulighed.
Mvh
Avatar billede dr_chaos Nybegynder
06. maj 2007 - 14:30 #3
Ok så mener jeg ikke der er det på en repeater :)
Kunne ikke huske om det var repeater eller dataliste.
Avatar billede simsen Mester
06. maj 2007 - 21:42 #4
Hejsa til jer begge....

Det er på en datalist....så snepnet har ret og får pointsene, når han giver svar....

MEN håber I gider hjælpe mig videre...Jeg vil nemlig så gerne have den ind i en Accordion (Ajax) - men af en eller anden grund, så vil den gerne køre, når jeg smider DataListen udenfor Accordion men ikke, når jeg kører den inde i en Accordion. Den fremkommer med følgende fejl: NullReferenceException Object reference not set to an instance of an object.

Min kode er:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            try
            {
                //Henter kategorier
                KategoriApi kategoriApi = new KategoriApi();

                DataTable Categories = null;
                if (kategoriApi.GetCategories(ref Categories) == Status.Success)
                {
                    dlstKategori.DataSource = Categories.DefaultView;
                    dlstKategori.DataBind();
                }

                kategoriApi.Dispose();
            }
            catch
            { }
        }
    }

og
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <center>
        <ajaxToolkit:Accordion ID="AccordionType"
                              SelectedIndex="0"
                              runat="server"
                              HeaderCssClass="accordionHeader"
                              ContentCssClass="accordionContent"
                              FadeTransitions="true"
                              FramesPerSecond="40"
                              TransitionDuration="250"
                              AutoSize="None" Width="400px">
       
            <Panes>
                <ajaxToolkit:AccordionPane ID="AccordionPaneKategorier" runat="server">
                    <Header>
                        <a href = "" onclick = "return false;" class = "accordion"> Kategorier</a>
                    </Header>
                    <Content>
                        <asp:DataList ID="dlstKategori" Width="400px" datakeyfield="KategoriId" HorizontalAlign="Center" CellPadding="4" Font-Size="10pt" RepeatColumns="3" runat="server">
                            <ItemTemplate>
                                <asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("KategoriNavn") %>'></asp:LinkButton>
                            </ItemTemplate>
                        </asp:DataList>
                    </Content>
                </ajaxToolkit:AccordionPane>
                <ajaxToolkit:AccordionPane ID="AccordionPaneMaaltider" runat="server">
                    <Header>
                        <a href = "" onclick = "return false;" class = "accordion"> Måltider</a>
                    </Header>
                    <Content>
                        Her kommer pane2
                    </Content>
                </ajaxToolkit:AccordionPane>
            </Panes>
        </ajaxToolkit:Accordion>
       
    </center>   
</asp:Content>

mvh
simsen :-)

PS - husk lige begge to, I har points tilgode i to af mine andre tråde :-)
Avatar billede dr_chaos Nybegynder
07. maj 2007 - 08:29 #5
Vi har begge smidt svar :)
Hvilken linie giver fejlen ?
Prøv evt med breakpoints og debugging mode at se hvor langt du kommer.
Avatar billede simsen Mester
07. maj 2007 - 12:16 #6
Hejsa dr_chaos,

Jeg har fundet ud af fejlen;

Det er fordi at Accordion er en naming container og jeg så ikke kan referere direkte til datalist....altså skal jeg først finde den, før jeg kan referere.

DataList dlstKategori = AccordionType.Panes["AccordionPaneKategorier"].FindControl("dlstKategori") as DataList;
if (dlstKategori != null)
{
    dlstKategori.DataSource = Categories.DefaultView;
    dlstKategori.DataBind();
}

Tak for hjælpen igen....

Husk at smide et svar, det er jo den eneste måde, jeg har mulighed for at vise min taknemlighed :-)

mvh
simsen :-)
Avatar billede dr_chaos Nybegynder
07. maj 2007 - 12:49 #7
Ved jeg ikke om du også ville have et svar fra mig.
Hvis ikke så bare ignorer det :)
Avatar billede snepnet Nybegynder
07. maj 2007 - 19:00 #8
Jamen du får da også et her så.
Mvh
Avatar billede simsen Mester
07. maj 2007 - 19:48 #9
Deler dem mellem jer, hvis I ikke er tilfredse, så må I altså slås indbyrdes om det ;-)

Tak endnu engang

mvh
simsen :-)
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



IT-JOB

Unik System Design A/S

Head of Internal IT

De Nationale Geologiske Undersøgelser for Danmark og Grønland (GEUS)

IT-systemadministrator søges til GEUS

Queue-it ApS

Team Lead Engineering