有没有好的asp.net2.0分页源码?非常感谢!

解决方案 »

  1.   

    弄了个简单的分页的主要是Repeater1分页的;
    protected void Page_Load(object sender, EventArgs e)
        {
            PageSize = 10;
            string connectionString = "server=(local);uid=sa;pwd=;database=XXXXXX";
            _connection = new SqlConnection(connectionString);
            DataBind();
            DataSet ds = new DataSet();
            string strSel = "select * from xxxx";
            _dataAdapter = new SqlDataAdapter(strSel, _connection);
            _dataAdapter.Fill(ds);
            PagedDataSource objPds = new PagedDataSource();
            objPds.DataSource = ds.Tables[0].DefaultView;
            objPds.AllowPaging = true;
            objPds.PageSize = 5;
            int CurPage;
            if (Request.QueryString["Page"] != null)
                CurPage = Convert.ToInt32(Request.QueryString["Page"]);
            else
                CurPage = 1;        objPds.CurrentPageIndex = CurPage - 1;
            lblCurrentPage.Text = "当前页:" + CurPage.ToString();        if (!objPds.IsFirstPage)
                lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);        if (!objPds.IsLastPage)
                lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);        Repeater1.DataSource = objPds;
            Repeater1.DataBind();
        }
        private SqlConnection _connection;
        private SqlDataAdapter _dataAdapter;
        public DataSet _dataSet, _dataSeted;
        public int PageSize, RecordCount, PageCount, CurrentPage;
      

  2.   

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GridViewDataBind();
            }
        }
        public void GridViewDataBind()
        {
            LinkButton1.Enabled = true;
            LinkButton2.Enabled = true;        string SQLstr = "select * from EpUser order by EpId DESC ";
            db.RunSQL(SQLstr, ref ds, "EpUser");
            if (ds.Tables[0].Rows.Count == 0)
            {
                AddDummyData(ds);
            }
            GridView1.DataSource = ds.Tables["EpUser"];
            GridView1.AllowPaging = true;
            GridView1.PageSize = 20;
            GridView1.DataBind();        if (GridView1.PageIndex == 0)
            {
                LinkButton1.Enabled = false;
            }
            if (GridView1.PageIndex == GridView1.PageCount - 1)
            {
                LinkButton2.Enabled = false;
            }
        }
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            GridView1.PageIndex = GridView1.PageIndex - 1;
            GridViewDataBind();
        }
        protected void LinkButton2_Click(object sender, EventArgs e)
        {
            GridView1.PageIndex = GridView1.PageIndex + 1;
            GridViewDataBind();
        }
        protected void LinkButton3_Click(object sender, EventArgs e)
        {
            GridView1.PageIndex = GridView1.PageCount - 1;
            GridViewDataBind();
        }
        protected void LinkButton4_Click(object sender, EventArgs e)
        {        GridView1.PageIndex = 0;
            GridViewDataBind();
        }
        private void AddDummyData(DataSet ds)
        {        //如果没有数据显示空行        DataTable dt = ds.Tables[0];        DataRow newRow = dt.NewRow();        dt.Rows.Add(newRow);    }
      

  3.   

    懒得粘贴了,去我的博客看吧,我写了个DataList分页,包括SQL语句都有,你也可以按你的需要自己在改。
    http://suichangbin.blog.ccidnet.com
      

  4.   

    AspNetPager分页示例
    http://www.webdiyer.com/download/default.aspx
      

  5.   

    分页基本上三种:一种利用sql语句分页。还有一种用DataAdapter对象的Fill方法。还有一种利用PagedDataSource。
      

  6.   

    如果没有什么特别的要求,用GirdView自带的分页就哦了.
      

  7.   

    Ajax+存储过程
    进行无刷新分页.以下有一个分页.请参考.
    欢迎访问  http://esdn.xicp.net  测试我的系统!
    MSN:[email protected]
      

  8.   

    -- =============================================
    -- 檔案名                P_Page
    -- Copyright(c)            大理資訊
    -- 創建人                limin_he([email protected])
    -- 創建日期                2006/09/08
    -- 描述                    利用SQL查詢語句進行分頁
    -- 輸入
    --       {
    --        @SQL        :    SQL查詢語句
    --        @Order        :    排序欄位
    --        @CurPage    :    當前頁
    --        @PageRows    :    每頁顯示行數
    --        @TotalRecorder:    查詢記錄總數(輸出參數)
    --       }
    -- 輸出
    --       {
    --        BookTypeID ,BookTypeID ,BookTypeNameE ,Description ,Sequence ,BookNum ,BookNum ,EditPerson
    --       }
    -- =============================================
    CREATE PROCEDURE [dbo].[P_Page]
        -- Add the parameters for the stored procedure here
        @SQL Nvarchar(2000),
        @Order Nvarchar(20),
        @CurPage int,
        @PageRows int,
        @TotalRecorder int output
    AS
    BEGIN
        -- SET NOCOUNT ON added to prevent extra result sets from
        SET NOCOUNT ON;
        declare @ExceSQL nvarchar(4000)    
        --設置開始行號
        declare  @start_row_num AS int
        SET @start_row_num = (@CurPage - 1) * @PageRows
       
        --設置標識語句
        declare @RowNumber nvarchar(100)
        set @RowNumber = ', ROW_NUMBER() OVER(ORDER BY ' + @Order + ') as RowNumber from '    set @SQL = Replace(@SQL,' from ',@RowNumber)    --獲得總記錄數
        set @ExceSQL = 'WITH tmp AS (' + @SQL + ') 
            select @TotalRecorder=max(RowNumber) from tmp'    execute sp_executesql @ExceSQL,N'@TotalRecorder int output',@TotalRecorder output    --設置查詢語句
        set @ExceSQL = 'WITH tmp AS (' + @SQL + ') 
            select * from tmp where RowNumber between ' + Convert(nvarchar,@start_row_num)
            + ' And ' + Convert(nvarchar,@start_row_num+@PageRows)    execute(@ExceSQL)END
      

  9.   

    请参考:
    http://www.xproer.com/bbs/revert.aspx?fid=5&tid=249

    http://www.xproer.com/bbs/thread-5-330.aspx
      

  10.   

    用SQL语句进行分页
    "select Top pageCount * from table where id not in (select top pageCount * CurrentpageID id from table where" + sWhere + " order by id asc) and" + sWhere;
    sWhere:为查询条件
    每次发送一页的数据,这么可以提高效率,不用把全部数据都发给客户端,由客户端分页
      

  11.   

    呵,呵,netpager大家都在用呀
      

  12.   

    这是我类里的两个方法,getid可以获取到第X条记录的ID
    page方法用来分页,把这两个方法,放到你的类里,OK    public string getid(int i)
        {
            string id = null;
            connection.Open();
            command.CommandText = "select top "+i.ToString()+"id from t";
            reader = command.ExecuteReader();
            for (int j=1; j <= i && reader.Read(); j++)
            {
                if (j == i)
                {
                    id=reader[0].ToString();
                }
            }
            reader.Close();
            connection.Close(); 
            return id;
        }    public DataTable page(string id, int pagesize)
        {
            adapter.SelectCommand.CommandText = "select top " + pagesize.ToString() + " * from t where id>=" + id;       
            adapter.Fill(ds, "t");
            return ds.Tables["t"];
        }
      

  13.   

    To:fgmis() 
    你给的用户名和密码进不了,能不能把你那个Ajax+存储过程实现无刷新分页的源代码发一份到
    先谢了