代码之家  ›  专栏  ›  技术社区  ›  Matthew Dresser

在GridView/Repeater/ListView中显示事件列表

  •  0
  • Matthew Dresser  · 技术社区  · 17 年前

    ================================
    June 2009
    ================================
    Event 1
    1 June 2009 to 2 June 2009
    Event info
    --------------------------------
    Event 2
    20 June 2009 to 21 June 2009
    Event info
    ================================
    July 2009
    ================================
    Event 3
    1 July 2009 to 2 July 2009
    Event info
    --------------------------------
    
    ...some more months/events here...
    
    ================================
    May 2010
    ================================
    Event 99
    10 May 2010 to 11 May 2010
    Event info
    --------------------------------
    
    

    2 回复  |  直到 17 年前
        1
  •  2
  •   2 revs, 2 users 70%<br/>Locutus&#13; &#13;    17 年前

        <asp:Repeater ID="Repeater1" runat="server" 
            onitemdatabound="Repeater1_ItemDataBound">
        <ItemTemplate>
            <asp:GridView ID="GridView1" runat="server">
            </asp:GridView>
        </ItemTemplate>
        </asp:Repeater>
    
    
    
    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        GridView gridview = e.Item.FindControl("GridView1") as GridView;
        gridview.DataSource = ...;
        gridview.DataBind();
    }
    

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            DateTime currentDate = DateTime.Now;
            DateTime startDate = new DateTime(currentDate.Year, currentDate.Month, 1); 
            List<DateTime> dateRange = new List<DateTime>();
            for (int i = 0; i < 12; i++)
                dateRange.Add(startDate.AddMonths(i));
    
            Repeater1.DataSource = dateRange;
            Repeater1.DataBind();
        }
    }
    
        2
  •  0
  •   maxbeaudoin    17 年前

    DataBinder.Eval

    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
            <ItemTemplate>
                <table>
                    <caption><%# Eval("MONTH") %></caption>
                    <tr>
                        <td><%# Eval("EVENT_NAME") %></td>
                    </tr>
                    <tr>
                        <td><%# Eval("DATE_BEGIN") %> to <%# Eval("DATE_END") %></td>
                    </tr>
                    <tr>
                        <td><%# Eval("EVENT_INFO") %></td>
                    </tr>
                </table>
            </ItemTemplate>
        </asp:Repeater>
    

    显然,这将为每个事件创建一个表。你也可以从桌子开始 <HeaderTemplate> FooterTemplate .

    推荐文章