webForumDet fria alternativet

Hur gör man på bästa sätt en databind med varannan post från en databas?

.NET

4 svar · 249 visningar · startad av trexter

Medlem sedan mars 20021 889 inlägg
Frågan#1

Jag har detta i aspx

            <asp:Repeater id="nyheter" runat="server">
            <HeaderTemplate>
            <table>
                <tbody>
            </HeaderTemplate>
            <ItemTemplate>
                    <tr>
                        <td class="nyheter" valign="top">
                            <br />
                            <p class="text" style="TEXT-ALIGN: left">
                                <span class="rubrik2"><%# DataBinder.Eval(Container.DataItem, "rubrik") %></span> -
                                <%# DataBinder.Eval(Container.DataItem, "nyhet") %>
                            </p>
                        </td>
                        <td class="mellan_nyheter">
                        </td>
                        <td class="nyheter" valign="top">
                            <br />
                            <p class="text" style="TEXT-ALIGN: left">
                                <span class="rubrik2">[b][rubrik][/b]</span> - [b][nyhet][/b]
                            </p>
                        </td>
                    </tr>
            </ItemTemplate>
            <FooterTemplate>
                </tbody>
            </table>
            </FooterTemplate>
            </asp:Repeater>

I stället för [rubrik] och [nyhet] vill jag visa varannan rubrik o nyhet. Meningen är att de ska synas i två olika kolummer.

Nu använder jag

            IDataReader dr = comm.ExecuteReader();
            nyheter.DataSource = dr;
            nyheter.DataBind();
Medlem sedan apr. 20012 266 inlägg
#2

AlternateTemplate kanske kan vara till hjälp, förstår dock inte exakt hur du vill ha det.

Medlem sedan mars 20021 889 inlägg
#3

Ah, naturligtvis! :bire

            <asp:Repeater id="nyheter" runat="server">
            <HeaderTemplate>
            <table>
                <tbody>
            </HeaderTemplate>
            <ItemTemplate>
                    <tr>
                        <td class="nyheter" valign="top">
                            <br />
                            <p class="text" style="TEXT-ALIGN: left">
                                <span class="rubrik2"><%# DataBinder.Eval(Container.DataItem, "datum") %></span> -
                                <%# DataBinder.Eval(Container.DataItem, "nyheten") %>
                            </p>
                        </td>
            </ItemTemplate>
            <AlternatingItemTemplate>
                        <td class="mellan_nyheter">
                        </td>
                        <td class="nyheter" valign="top">
                            <br />
                            <p class="text" style="TEXT-ALIGN: left">
                                <span class="rubrik2"><%# DataBinder.Eval(Container.DataItem, "datum") %></span> -
                                <%# DataBinder.Eval(Container.DataItem, "nyheten") %>
                            </p>
                        </td>
                    </tr>
            </AlternatingItemTemplate>
            <FooterTemplate>
                </tbody>
            </table>
            </FooterTemplate>
            </asp:Repeater>

:)

Medlem sedan sep. 20011 914 inlägg
#4

Förstår inte heller riktigt hur du vill ha det, men om det är så här.

--------------------------------
| News1 title | News2 title |
--------------------------------
|                 |                 |
| News1 text | News2 Text |
|                 |                 |
---------------------------------
| News3 title | News4 title |
--------------------------------
|                 |                 |
| News3 text | News4 Text |
|                 |                 |
---------------------------------

I sådana fall använd dig av en datalist. Där kan du sätta propertyn RepeatColumns till 2 så får du som ovan.

Medlem sedan juni 20011 732 inlägg
#5

Jupp, håller med Dino, för i din lösning kommer din tabell att bli fel om du har ett udda antal items.

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)