分页的例子(吓搞了一个)

原创 2006年06月16日 17:43:00

后台:

protected void Page_Load(object sender, System.EventArgs e)
  {
   if(!IsPostBack)
   {
    SqlConnection conn=db.cn();
    conn.Open();
    SqlCommand cmd=new SqlCommand();
    cmd.Connection=conn;
                cmd.CommandText = "SELECT COUNT(*) FROM gg WHERE (title LIKE '%是%')";
    ViewState["count"]=cmd.ExecuteScalar();
    
    SqlDataAdapter da=new SqlDataAdapter();
    DataSet ds=new DataSet();    

    int page=10;
    page=page*(Convert.ToInt32(Request.Params["page"])-1);
    if(page>0)
    {
                    cmd.CommandText = "SELECT TOP 10 * FROM gg WHERE (id NOT IN (SELECT TOP " + page + " id FROM gg WHERE (title LIKE '%是%'))) and (title LIKE '%是%')";
    }
    else
    {
     cmd.CommandText="SELECT TOP 11 * FROM gg";
    }
    da.SelectCommand=cmd;
    da.Fill(ds);
    PagedDataSource objPage=new PagedDataSource();

    objPage.DataSource=ds.Tables[0].DefaultView;

    objPage.AllowPaging=true;

    objPage.PageSize=10;

    int CurPage;
    if(Request.QueryString["Page"]!=null)
     CurPage=Convert.ToInt32(Request.QueryString["Page"]);
    else CurPage=1;
    objPage.CurrentPageIndex=CurPage-1;
    if(objPage.CurrentPageIndex%20==0)
    {
     Session["begin"]=objPage.CurrentPageIndex+1;
    }

    Label1.Text="当前页:第"+CurPage.ToString()+"页";
    if(!objPage.IsFirstPage)
     HyperLink1.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" +Convert.ToString(CurPage-1);
    if(!objPage.IsLastPage)
     HyperLink2.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" +Convert.ToString(CurPage+1);
    DataList1.DataSource=ds;
    DataList1.DataBind();
    ds.Clear();
    
    conn.Close();
   }
  }

  public void GetString()
  {
            int i = Convert.ToInt32(Session["begin"]);
        if (Convert.ToInt32(Request.Params["page"]) % 20 == 0 && Request.Params["page"] != null)
        {
            i = i - 20;
        }
        if ( Convert.ToInt32(Request.Params["page"])>i + 20)
        {
            i = i+20;
        }
   for(;i <= (Convert.ToInt32(ViewState["count"])+10)/10;i++)
   {
                if (i%20 == 1)
                {
                    if (i == 1)
                    { }
                    else
                    {
                        Response.Write("</TD>&nbsp;<a href='" + Request.CurrentExecutionFilePath + "?page=" + (i - 20) + "' alt=上20页>上20页</a>&nbsp;</TD>");
                    }
                } 
    Response.Write("</TD>&nbsp;<a href='"+Request.CurrentExecutionFilePath+"?page="+i+"'>"+i+"</a>&nbsp;</TD>");
    if(i%20==0)
    {
     i++;
                    Response.Write("</TD>&nbsp;<a href='" + Request.CurrentExecutionFilePath + "?page=" + i + "' alt=下20页>下20页</a>&nbsp;</TD>");
     break;
    }
   }  
  }

前台:

<form id="Form1" method="post" runat="server">
   <TABLE id="Table1" style="Z-INDEX: 101; LEFT: 40px; WIDTH: 704px; POSITION: absolute; TOP: 24px; HEIGHT: 163px"
    cellSpacing="1" cellPadding="1" width="704" border="1">
    <TR>
     <TD style="WIDTH: 63px"><FONT face="宋体"></FONT></TD>
     <TD style="WIDTH: 516px"><FONT face="宋体"><asp:datalist id="DataList1" runat="server">
        <ItemTemplate>
         <%#DataBinder.Eval(Container.DataItem,"title").ToString() %>
        </ItemTemplate>
        <SeparatorTemplate>
         ......................
        </SeparatorTemplate>
        <AlternatingItemTemplate>
         <%#DataBinder.Eval(Container.DataItem,"title").ToString() %>
        </AlternatingItemTemplate>
       </asp:datalist></FONT></TD>
     <TD><FONT face="宋体"></FONT></TD>
    </TR>
    <TR>
     <TD style="WIDTH: 63px"><FONT face="宋体"><asp:hyperlink id="HyperLink1" runat="server">HyperLink</asp:hyperlink></FONT></TD>
     <TD style="WIDTH: 516px">
      <table>
       <%GetString();%>
      </table>
     </TD>
     <TD><FONT face="宋体"><asp:hyperlink id="HyperLink2" runat="server">HyperLink</asp:hyperlink><asp:label id="Label1" runat="server">当前第XXX页</asp:label></FONT></TD>
    </TR>
   </TABLE>
  </form>

真是一个很好的分页例子

  • 2013年01月17日 14:59
  • 312KB
  • 下载

一个功能齐全的DataGrid分页例子

C#版本 例子 DataGridPaging.aspx  AutoEventWireup="false" Inherits="eMeng.Exam.DataGridPaging...
  • my98800
  • my98800
  • 2016年07月30日 11:57
  • 117

c# 分页增删改查的一个小例子

  • 2011年10月09日 22:14
  • 308KB
  • 下载

POI生成Excel一个简单的分页例子

POI生成Excel一个简单的分页例子 其实分页很简单,当前页面记录数满足分页条件后,用工作簿对象再创一个sheet。 实现思路如下: 1、定义每页最大的记录数。 2、根据最大记录...

搞了一个星期的扫码收款, 总结感悟

正好明天周末, 搞了一个星期的支付宝和微信的付款码支付, 今天终于有了模样 支付宝:   支付宝目前符合公司这种代替商家收款同时款项要打到商家自己的账户上需要使用第三方授权的形式, 找到了文档和SD...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:分页的例子(吓搞了一个)
举报原因:
原因补充:

(最多只允许输入30个字)