Search code examples
asp.netc#-4.0repeater

Asp.net Split repeater


I have Repeater showing the following result:

Currency       Date           Rate
  AUD         10-12-2014     1.2356
  USD         10-12-2014     1.3498  

I have 20 currencies (means 20 rows). What I am looking for is that after 10 rows the rest of the rows shown in a new column like this:

Currency       Date           Rate      Currency         Date          Rate
  AUD         10-12-2014     1.2356       DKK          10-12-2014     8.4960
  USD         10-12-2014     1.3498       SEK          10-12-2014     9.9445    

10 records on left side and 10 on the right other.

Do I need to use some other control or this can be done with repeater also?

This is the code for the repeater:

<asp:Repeater runat="server" ID="repCurrencies" OnItemDataBound="repCurrencies_OnItemDataBound">
  <HeaderTemplate>
    <li>
        <asp:Label runat="server" ID="lblCodeHeader" Text="Code"></asp:Label>
        <asp:Label runat="server" ID="lblDateHeader" Text="Date"></asp:Label>
        <asp:Label runat="server" ID="lblRateHeader" Text="Rate"></asp:Label>
    </li>
   </HeaderTemplate>
   <ItemTemplate>
     <li>
        <asp:Label runat="server" ID="lblCode"></asp:Label>
        <asp:Label runat="server" ID="lblDate"></asp:Label>
        <asp:Label runat="server" ID="lblRate"></asp:Label>

      </li>
    </ItemTemplate>
</asp:Repeater>

Update: After comment from Tim, I have now used the datalist but don't not how to format it properly to achieve the above mentioned layout.

 <asp:DataList runat="server" ID="dlCurrencies" OnItemDataBound="dlCurrencies_OnItemDataBound" RepeatDirection="Horizontal" RepeatLayout="Table" RepeatColumns="3">
        <HeaderTemplate>
                <li>
                        <asp:Label runat="server" ID="lblCodeHeader" Text="Code"></asp:Label>
                        <asp:Label runat="server" ID="lblDateHeader" Text="Date"></asp:Label>
                        <asp:Label runat="server" ID="lblRateHeader" Text="Rate"></asp:Label>
                     </li>
             </HeaderTemplate>
             <ItemTemplate>
                     <li>
                        <asp:Label runat="server" ID="lblCode"></asp:Label>
                        <asp:Label runat="server" ID="lblDate"></asp:Label>
                        <asp:Label runat="server" ID="lblRate"></asp:Label>
            </li>
             </ItemTemplate>
    </asp:DataList>

Solution

  • Another Solution You Can Use two repeaters in one page and redesign your page to have two divs (10 records on left side and 10 on the right other) and create two datasets each dataset has 10 rows and pass it to each repeater