现在的位置: 首页 > 综合 > 正文

实现数字分页

2013年02月26日 ⁄ 综合 ⁄ 共 6590字 ⁄ 字号 评论关闭

 

 1<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="DataGridPage.WebForm1" %>
 2<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 3<HTML>
 4    <HEAD>
 5        <title>WebForm1</title>
 6        <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
 7        <meta content="C#" name="CODE_LANGUAGE">
 8        <meta content="JavaScript" name="vs_defaultClientScript">
 9        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
10    </HEAD>
11    <body MS_POSITIONING="GridLayout">
12        <form id="Form1" method="post" runat="server">
13            <table cellSpacing="0" cellPadding="0" align="center" border="1">
14                <tr>
15                    <td><asp:datagrid id="DataGrid1" runat="server" AllowPaging="True" Width="502px" PageSize="3">
16                            <PagerStyle NextPageText="" PrevPageText=""></PagerStyle>
17                        </asp:datagrid></td>
18                </tr>
19                <tr>
20                    <td style="HEIGHT: 25px" align="center"><asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server" CommandArgument="first">首 页</asp:linkbutton><asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server" CommandArgument="prev">上一页  </asp:linkbutton><asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server" CommandArgument="next">下一页</asp:linkbutton><asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server" CommandArgument="last">尾 页</asp:linkbutton><asp:label id="LblCurrentIndex" runat="server"></asp:label><asp:label id="LblPageCount" runat="server"></asp:label><asp:label id="LblRecordCount" runat="server"></asp:label></td>
21                </tr>
22                <tr>
23                    <td>
24                        <div style="FLOAT:left;WIDTH:100%;HEIGHT:20px" runat="server" id="div1"></div>
25                    </td>
26                </tr>
27            </table>
28        </form>
29    </body>
30</HTML>
31

 

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace DataGridPage
{
    
/// <summary>
    
/// WebForm1 的摘要说明。
    
/// </summary>

    public class WebForm1 : System.Web.UI.Page
    
{
        
protected System.Web.UI.WebControls.LinkButton btnFirst;
        
protected System.Web.UI.WebControls.LinkButton btnPrev;
        
protected System.Web.UI.WebControls.LinkButton btnNext;
        
protected System.Web.UI.WebControls.LinkButton btnLast;
        
protected System.Web.UI.WebControls.Label LblCurrentIndex;
        
protected System.Web.UI.WebControls.Label LblPageCount;
        
protected System.Web.UI.WebControls.Label LblRecordCount;
        
protected System.Web.UI.HtmlControls.HtmlGenericControl div1;
        
protected System.Web.UI.WebControls.DataGrid DataGrid1;
    
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在此处放置用户代码以初始化页面
            if(! this.IsPostBack)
            
{
            
                
string page=Request["page"];
    

                
if(page != null)
                
{
                    
this.DataGrid1.CurrentPageIndex=Convert.ToInt32(Request["page"].ToString())-1;
                    bind();
                }

                
else
                
{
    bind();
                
                }

            

            }

        }

        
void bind()
        
{
            
            
            SqlConnection conn
=new SqlConnection("server=.;database=pubs;uid=sa;pwd=;");
            conn.Open();
            SqlDataAdapter da
=new SqlDataAdapter("select * from employee",conn);
            DataSet ds
=new DataSet();
            da.Fill(ds);
            
this.DataGrid1.DataSource=ds.Tables[0];
            
this.DataGrid1.DataBind();
            
this.LblCurrentIndex.Text=""+(this.DataGrid1.CurrentPageIndex+1)+"";
            
this.LblPageCount.Text="共:"+this.DataGrid1.PageCount.ToString()+"";
            
this.LblRecordCount.Text="总共"+ds.Tables[0].Rows.Count.ToString()+"";
            
if(ds.Tables[0].Rows.Count==0)
            
{
                
this.btnFirst.Visible=false;
                
this.btnPrev.Visible=false;
                
this.btnNext.Visible=false;
                
this.btnLast.Visible=false;
                
this.LblCurrentIndex.Visible=false;
                
this.LblPageCount.Visible=false;
                
this.LblRecordCount.Visible=false;
            }

            
else
                
                
if(this.DataGrid1.PageCount ==1)
            
{
                
this.btnFirst.Visible=false;
                
this.btnPrev.Visible=false;
                
this.btnNext.Visible=false;
                
this.btnLast.Visible=false;
            }

            btnFirst.CommandName 
= "1";
            btnPrev.CommandName 
= (this.DataGrid1.CurrentPageIndex == 0 ? "1" : this.DataGrid1.CurrentPageIndex.ToString());

            btnNext.CommandName 
= (this.DataGrid1.PageCount ==1 ? this.DataGrid1.PageCount.ToString() : (this.DataGrid1.CurrentPageIndex + 2).ToString());
            btnLast.CommandName 
=this.DataGrid1.PageCount.ToString();
        
            
this.div1.InnerHtml=set_daohang();
        }


        
Web 窗体设计器生成的代码
        
protected void PagerButtonClick(object sender,EventArgs e)
        
{
            
if(Convert.ToInt32(((LinkButton)sender).CommandName) >  this.DataGrid1.PageCount)
            
{
            ((LinkButton)sender).CommandName
=this.DataGrid1.PageCount.ToString();
            }

            
this.DataGrid1.CurrentPageIndex=Convert.ToInt32(((LinkButton)sender).CommandName)-1;
            bind();
        }

        
protected string set_daohang()
        
{
            
string daohang1=null;
        
            
//Response.Write(this.DataGrid1.CurrentPageIndex.ToString());
            int l=(this.DataGrid1.CurrentPageIndex+1)/10;
            
string fenye;
            
for(int i=l*10+1;i<=(l+1)*10  && i < this.DataGrid1.PageCount+1;i++)
            
{
                
                
if(i==this.DataGrid1.CurrentPageIndex+1)    

抱歉!评论已关闭.