Multiple header in Repeater or ListView

Last post 04-06-2009 12:14 AM by fatewong. 4 replies.

Sort Posts:

  • Multiple header in Repeater or ListView

    04-02-2009, 12:03 AM
    • Member
      30 point Member
    • Korivo
    • Member since 10-16-2002, 8:11 AM
    • Posts 24

     Hi there,

    Im looking for a solution to have multiple header in a listview or repeater such as:

     

    THURSDAY, 26 MARCH 2009

    row here

    row here

     THURSDAY, 27 MARCH 2009

    row here

    row here

     THURSDAY, 28 MARCH 2009

     row here

    row here

     

    Thanks for any input!

    Mat

  • Re: Multiple header in Repeater or ListView

    04-02-2009, 12:31 AM
    • Member
      85 point Member
    • dqminh
    • Member since 04-16-2008, 4:23 AM
    • Vietnam
    • Posts 19

     Hi, you can use the grouping grid, it means that create a child listview inside a parent listview. See the good example in http://mattberseth.com/blog/2008/01/building_a_grouping_grid_with.html

  • Re: Multiple header in Repeater or ListView

    04-02-2009, 2:31 AM
    • Member
      718 point Member
    • fatewong
    • Member since 12-08-2004, 3:45 PM
    • Posts 121

    You may make use of 2 repeaters as well.

        <asp:Repeater ID="rptHeader" runat="server">
            <ItemTemplate>
                <%# Eval("HeaderTextField") %><br />
                <asp:Repeater ID="rptDetail" runat="server">
                    <ItemTemplate>
                        <%# Eval("DetailUnderHeaderField") %>
                    </ItemTemplate>
                    <SeparatorTemplate><br /></SeparatorTemplate>
                </asp:Repeater>
            </ItemTemplate>
        </asp:Repeater>

                    
                    
     
  • Re: Multiple header in Repeater or ListView

    04-02-2009, 9:50 AM
    • Member
      30 point Member
    • Korivo
    • Member since 10-16-2002, 8:11 AM
    • Posts 24

     A couples of questions on your solution fatewong.

     

    Does the dataSource need to be formatted in a certain way, such as:

     

    date[column]                                        item[column]

    2009-01-01                                        item1, item2, item3

    2009-01-02                                       item4, item5

     

    At the moment, my dataSource is under the following format:

    date[column]                                 item[column]

    2009-01-01                                        item1

    2009-01-01                                        item2 

    2009-01-01                                        item3 

    2009-01-02                                        item4 

    2009-01-02                                        item5 

     

    Right now, the Header for the date is appearing, but nothing after.

     So my question is, the datasource must be under what kind of format for this to work?

    Thanks,

    Mat

  • Re: Multiple header in Repeater or ListView

    04-06-2009, 12:14 AM
    Answer
    • Member
      718 point Member
    • fatewong
    • Member since 12-08-2004, 3:45 PM
    • Posts 121

    There are 2 alternatives to do that.

    1. using sql "select distinct your_date_field from your_table"  and bind it to first repeater. In ItemDataBound event of first repeater, using sql "select your_item_column from your_table where your_date_field = selected_date" and bind it to second repeater (which is inside ItemTemplate of first repeater)

    2. using sql "select * from your_table" and store it into a DataTable (eg. dtAllRecord), assign to a DataView (eg. dvAllRecord) and thus use dvAllRecord.ToTable(true, "your_date_field") method to get distinct Date record, bind it to first repeater. In ItemDataBound event of first repeater, filter necessary record using dvAllRecord.RowFilter = String.Format(new CultureInfo("en-GB").DateTimeFormat, "your_date_field = #{0:d}#", selecteddate)

Page 1 of 1 (5 items)