repeater 自定义分页 首页 上一页 下一页 尾页

<script runat="server">
    errors ers = new errors();
    protected void Page_Load(object sender, EventArgs e)
    {
        DataSet ds = null;
       
        if (Cache["Repeater"] != null)
        {
            ds = (DataSet)Cache["Repeater"];
        }
        else
        {
            Cache.Insert("Repeater", (DataSet)CreateCache());
            ds = (DataSet)Cache["Repeater"];
        }
        PageBind(ds);       
     
    }
    private DataSet CreateCache()
    {
        errors er = new errors();
        DataSet ds = er.GetErrors();
        return ds;
    }
    protected void repErrors_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            HtmlInputHidden hi = (HtmlInputHidden)e.Item.FindControl("Hidden1");   
            Repeater rep = (Repeater)e.Item.FindControl("repErrorinfo");
            rep.DataSource = ers.GetErrorInfo(Int32.Parse(hi.Value));
            rep.DataBind();
        }
    }
    private void PageBind(DataSet ds)
    {               
        PagedDataSource objps = new PagedDataSource();
        objps.DataSource = ds.Tables[0].DefaultView;
        objps.AllowPaging = true;
        objps.PageSize = 2;

        int CurPage;
        if (Request.QueryString["Page"] != null)
        {
            CurPage = Int32.Parse(Request.QueryString["Page"].ToString());
        }
        else
        {
            CurPage = 1;
        }
        objps.CurrentPageIndex = CurPage - 1;

        Label1.Text = objps.PageCount.ToString();
        Label2.Text = CurPage.ToString();

        LinkButton1.PostBackUrl = Request.CurrentExecutionFilePath + "?Page=1";

        if (!objps.IsFirstPage)
            LinkButton2.PostBackUrl = Request.CurrentExecutionFilePath + "?Page=" + (CurPage - 1);
        if (!objps.IsLastPage)
            LinkButton3.PostBackUrl = Request.CurrentExecutionFilePath + "?Page=" + (CurPage + 1);

        LinkButton4.PostBackUrl = Request.CurrentExecutionFilePath + "?Page=" + objps.PageCount.ToString();

        repErrors.DataSource = objps;
        repErrors.DataBind();
       
       
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        DataSet ds = null;
        if (Cache["Repeater"] != null)
        {
            ds = (DataSet)Cache["Repeater"];
        }
        PageBind(ds);
    }
</script>

<div style="text-align: center">
    <div style="text-align: center">
        <div style="text-align: center">
            <table>
                <tr>
                    <td align="left">
<asp:Repeater ID="repErrors" runat=server OnItemDataBound="repErrors_ItemDataBound">
<HeaderTemplate><table border=1 style="border-right: gray 0px solid; border-top: gray 0px solid; border-left: gray 0px solid;
            border-bottom: gray 0px solid" width=800px></HeaderTemplate>
<ItemTemplate>
              <tr><td><input id="Hidden1" type="hidden" value='<%#Eval("exNodeID") %>' runat=server /></td></tr>
              <tr><td align=left>
                  <img src="images/xinxi.gif" />&nbsp;&nbsp;<%#Eval("exDate","{0:yyyy年 M月 d日}") %></td></tr>
              <tr><td align=left>
                            <asp:Repeater ID="repErrorinfo" runat=server>
                            <HeaderTemplate><table></HeaderTemplate>
                            <ItemTemplate>                                       
                                          <tr><td align=left><font style="color:blue"><%#Eval("exMessage") %></font></td></tr>
                                          <tr><td align=right><%#Eval("exDateTime")%>&nbsp;&nbsp;<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl='<%#"~/Default2.aspx?exid="+Eval("exID")%>'><font style="color:Gray">详细信息</font></asp:LinkButton></td></tr>
                                                                                                                   
                            </ItemTemplate>
                            <FooterTemplate></table></FooterTemplate>
                            </asp:Repeater>
              </td></tr>
                
</ItemTemplate>
<FooterTemplate></table></FooterTemplate>
</asp:Repeater>
                    </td>
                </tr>
                <tr>
                    <td align="left">
                        共
                        <asp:Label ID="Label1" runat="server"></asp:Label>
                        页,当前第
                        <asp:Label ID="Label2" runat="server"></asp:Label>
                        页,<asp:LinkButton ID="LinkButton1" runat="server">首页</asp:LinkButton>
                        <asp:LinkButton ID="LinkButton2" runat="server">上一页</asp:LinkButton>
                        <asp:LinkButton ID="LinkButton3" runat="server">下一页</asp:LinkButton>
                        <asp:LinkButton ID="LinkButton4" runat="server">尾页</asp:LinkButton>
                        <asp:TextBox ID="TextBox1" runat="server" Width="67px"></asp:TextBox>
                        <asp:Button ID="Button1" runat="server" Text="[GO]" Width="40px" OnClick="Button1_Click" /></td>
                </tr>
            </table>
        </div>
    </div>
</div>

转载于:https://www.cnblogs.com/qinhaijun/archive/2011/08/26/2154433.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值