05. september 2007 - 18:33Der er
9 kommentarer og 2 løsninger
Hente seneste 6 nyheder og placere dem i forskellige labels
Jeg har planer om at hente de seneste 6 myheder på min webside frem på min forside i 6 bokse af forskellig størrelse og placering (en stor, to mellem og 3 små).
Dertil har jeg oprettet nogle tabeller med nogle labels
Jeg har forbindelse til min Access database gennem de oprettede OleDbConnection, OleDbDatareader og OleDbCommand
Følgende SQL er oprettet: SQL = "SELECT TOP 6 Titel, Indhold, NyhedsDato FROM indhold ORDER BY NyhedsDato"
Jeg åbner forbindelsen, kører min SQL og indlæser i min datareader. Og herefter famler jeg i blinde.
Mit første forsøg var noget i retning af:
Dim i As Integer If NewsReader.Read = True Then For i = 1 To 6 lblNyhed1Overskrift.Text = NewsReader("Titel").ToString.Trim() Next End If
Hvor jeg ville løbe min kode igennem 6 gange for at hente de seneste 6 nyheder og indsætte dem i tilhørende labels.
Men jeg er enten kørt fast i ovenstående kode - ellers er jeg langt fra, hvor jeg burde være og skal have hjælp til at komme tilbage på sporet med en bedre / rigtig kode
Du kan læøgge dine labels i et array og så gennemløbe dette:
Dim lblOverskiftArr As Label() = New Label() {lblNyhed1Overskrift, lblNyhed2Overskrift, lblNyhed3Overskrift, lblNyhed4Overskrift, lblNyhed5Overskrift, lblNyhed6Overskrift}
Dim i As Integer If NewsReader.Read = True Then For i = 0 To 5 lblOverskiftArr(i).Text = NewsReader("Titel").ToString.Trim() Next End If
Hvis man tænker sig at du har kolonnerne fldId og fldOverskrift i en tabel, og du opretter en datatable f.eks. i Page_Load, samt binder den til din repeater.. Så kan du gøres således:
<asp:Repeater ID = "repRepeater" runat = "server">
<ItemTemplate> <asp:Label ID = "lblLabel<%# DataBinder.Eval(Container.DataItem, "fldId")%>" runat = "server" text = <%# DataBinder.Eval(Container.DataItem, "fldOverskrift")%> /> </ItemTemplate> </asp:Repeater>
Du kan så selvfølgelig modificere din datatable før du binder den. :)
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.