asp.net中Repeater分页代码…

来源:互联网 发布:天国王朝 演员 知乎 编辑:程序博客网 时间:2024/05/01 18:44
原文地址:asp.net中Repeater分页代码(可以加查询条件)作者:花心太郎

我的代码比个别代码要长一些,但是我的可以加查询条件,我测试了个别的代码,他们的代码如果在上面加油查询条件,不直接点击查询按钮,而是直接点击Repeater控件的“下一页”“尾页”等,会发生错误!我在这方面做了一些调整,所以代码相对要长一些:

aspx.cs文件

  protected void Page_Load(object sender,EventArgs e)
    {
       if (!this.IsPostBack)
       {
           this.lblNoPage.Text = "1";
           this.GridViewBind();
       }
    }
    ///<summary>
    ///分页代码(开始)/////////////////////////////
    ///</summary>
    private voidGridViewBind()
    {
       int curPage = Convert.ToInt32(this.lblNoPage.Text.Trim());
       Class1 cl = new Class1();///////////////////////////////SQL类
       DataSet ds = cl.selchengshi();//////////////////////////查询语句
       PagedDataSource ps = new PagedDataSource();
       string totalBar = ds.Tables[0].Rows.Count.ToString().Trim();
       this.lblTotalBar.Text = totalBar;
       ps.DataSource = ds.Tables[0].DefaultView;
       ps.AllowPaging = true;
       ps.PageSize =Convert.ToInt32(this.ddlBarPage.SelectedValue.ToString().Trim());
       this.lkbPrevious.Enabled = true;
       this.lkbNext.Enabled = true;
       this.lkbHome.Enabled = true;
       this.lkbLast.Enabled = true;
       ps.CurrentPageIndex = curPage - 1;
       int nobar = curPage * ps.PageSize;
       this.lblNoBar.Text = nobar.ToString().Trim();
       if (curPage == 1)
       {
           this.lkbPrevious.Enabled = false;
           this.lkbHome.Enabled = false;
       }
       if (curPage == ps.PageCount)
       {
           this.lkbNext.Enabled = false;
           this.lkbLast.Enabled = false;
           this.lblNoBar.Text = totalBar;
       }
       this.lblTotalPage.Text = (ps.PageCount).ToString().Trim();
       this.ddlSearchPage.Items.Clear();
       for (int i = 1; i < ps.PageCount + 1; i++)
           this.ddlSearchPage.Items.Add(i.ToString().Trim());
       if (Convert.ToInt32(this.lblNoPage.Text.Trim()) - 1>= this.ddlSearchPage.Items.Count)
       {
           this.ddlSearchPage.SelectedIndex = 0;
           ps.CurrentPageIndex = 0;
           this.lblNoPage.Text = "1";
           this.lkbPrevious.Enabled = false;
           this.lkbHome.Enabled = false;
           this.lkbNext.Enabled = false;
           this.lkbLast.Enabled = false;
           if (Convert.ToInt32(totalBar) <=Convert.ToInt32(this.ddlBarPage.SelectedValue.ToString().Trim()))
               this.lblNoBar.Text = totalBar;
           else
           {
               this.lblNoBar.Text =ddlBarPage.SelectedValue.ToString().Trim();
               this.lkbNext.Enabled = true;
               this.lkbLast.Enabled = true;
           }
       }
       else
           this.ddlSearchPage.SelectedIndex =Convert.ToInt32(this.lblNoPage.Text.Trim()) - 1;
       this.RepeaterDate.DataSource = ps;
       this.RepeaterDate.DataBind();
    }
    //首页
    protectedvoid lkbHome_Click(object sender, EventArgs e)
    {
       this.lblNoPage.Text = "1";
       this.GridViewBind();
    }
    //上一页
    protectedvoid lkbPrevious_Click(object sender, EventArgs e)
    {
       this.lblNoPage.Text =Convert.ToString(Convert.ToInt32(this.lblNoPage.Text.Trim()) -1);
       this.GridViewBind();
    }
    //下一页
    protectedvoid lkbNext_Click(object sender, EventArgs e)
    {
       this.lblNoPage.Text =Convert.ToString(Convert.ToInt32(this.lblNoPage.Text.Trim()) +1);
       this.GridViewBind();
    }
    //尾页
    protectedvoid lkbLast_Click(object sender, EventArgs e)
    {
       this.lblNoPage.Text = lblTotalPage.Text.Trim();
       this.GridViewBind();
    }
   //选择第几页
    protectedvoid ddlSearchPage_SelectedIndexChanged(object sender, EventArgse)
    {
       this.lblNoPage.Text =this.ddlSearchPage.SelectedItem.Text.Trim();
       this.GridViewBind();
    }
   //一页显示多少条
    protectedvoid ddlBarPage_SelectedIndexChanged(object sender, EventArgse)
    {
       this.lblNoPage.Text = "1";
       this.GridViewBind();
    }
   ///分页代码(结束)/////////////////////////

aspx文件

<div>
   <table width="100%" border="0" cellpadding="2"cellspacing="1" bgcolor="#FFFFFF" style="FONT-SIZE:12px;LINE-HEIGHT: 20px;COLOR: #000000;">
       <tr>
           <td bgcolor="#d4d1ca" style="width:50%;"align="center">名称</td>
           <td bgcolor="#d4d1ca" style="width:50%;"align="center">详细</td>
       </tr>
   </table>
</div>
<div>
   <asp:Repeater ID="RepeaterDate"runat="server">
       <ItemTemplate>
           <table width="100%">
               <tr>
                   <td bgcolor="#eaeaea"style="width:50%;word-break:break-all"align="center">
                       <asp:Label ID="lblName" runat="server"Text='<%#("Name")%>'></asp:Label></td>
                   <td bgcolor="#eaeaea"style="width:50%;word-break:break-all"align="center">
                       <asp:Label ID="lblconete" runat="server"Text='<%#("Content")%>'></asp:Label></td>
               </tr>
           </table>
       </ItemTemplate>
   </asp:Repeater>
   <div>
       <table width="100%" border="0" cellpadding="2"cellspacing="1" bgcolor="#FFFFFF" style="FONT-SIZE:12px;LINE-HEIGHT: 20px;COLOR: #000000;">
           <tr>
               <td bgcolor="#d4d1ca">
                   <table width="100%">
                       <tr>
                           <tdalign="left"><strong>&nbsp;&nbsp;
                               <asp:Label ID="lblNoBar" runat="server"Text="0"></asp:Label>/<asp:LabelID="lblTotalBar" runat="server"Text="0"></asp:Label>条,
                               <asp:DropDownList ID="ddlBarPage" runat="server"OnSelectedIndexChanged="ddlBarPage_SelectedIndexChanged">
                                   <asp:ListItem Value="10" Text="10"Selected="true"></asp:ListItem>
                                   <asp:ListItem Value="20"Text="20"></asp:ListItem>
                                   <asp:ListItem Value="30"Text="30"></asp:ListItem>
                                   <asp:ListItem Value="40"Text="40"></asp:ListItem>
                                   <asp:ListItem Value="50"Text="50"></asp:ListItem>
                               </asp:DropDownList>条/页,
                               <asp:Label ID="lblNoPage" runat="server"Text="0"></asp:Label>/<asp:LabelID="lblTotalPage" runat="server"Text="0"></asp:Label>页</strong>
                           </td>
                           <tdalign="right"><strong>
                               <asp:LinkButton ID="lkbHome" runat="server"OnClick="lkbHome_Click">首页</asp:LinkButton>&nbsp;&nbsp;|&nbsp;&nbsp;
                               <asp:LinkButton ID="lkbPrevious" runat="server"OnClick="lkbPrevious_Click">上一页</asp:LinkButton>&nbsp;&nbsp;|&nbsp;&nbsp;
                               <asp:LinkButton ID="lkbNext" runat="server"OnClick="lkbNext_Click">下一页</asp:LinkButton>&nbsp;&nbsp;|&nbsp;&nbsp;
                               <asp:LinkButton ID="lkbLast" runat="server"OnClick="lkbLast_Click">尾页</asp:LinkButton>&nbsp;&nbsp;&nbsp;&nbsp;
                               <asp:DropDownList ID="ddlSearchPage" runat="server"OnSelectedIndexChanged="ddlSearchPage_SelectedIndexChanged">
                               </asp:DropDownList>&nbsp;&nbsp;</strong>
                           </td>
                       </tr>
                   </table>
               </td>
           </tr>
       </table>
   </div>
</div>

0 0
原创粉丝点击