第一种:

if(!IsPostBack)
            
{
//                datatable=obj.BindDataGrid_First("Project_BindDataGrid_First");
//                BindDataList();
                datatable =obj.GetDataArrayList();

                PagedDataSource objPds 
= new PagedDataSource(); 
                objPds.DataSource 
=datatable.DefaultView; 
                objPds.AllowPaging 
= true
                objPds.PageSize 
= 5
                
int CurPage; 

                
//当前页面从Page查询参数获取 
                if (Request.QueryString["Page"!= null
                    CurPage
=Convert.ToInt32(Request.QueryString["Page"]); 
                
else 
                    CurPage
=1

                objPds.CurrentPageIndex 
= CurPage-1
//                lblCurrentPage.Text = "Page: " + 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); 

               
this.DataList1.DataSource=objPds;
                
this.DataList1.DataBind();
            }

        }

第二种:

下面是db类中的ds方法

     
public static DataTable ds(string que)
      
{//返回一个装载了SQL制定留言的数据表,
         OleDbConnection con = odb.con();
         OleDbDataAdapter oda 
= new OleDbDataAdapter();
         oda.SelectCommand
=new OleDbCommand(que,con);
         DataSet ds 
= new DataSet();
         oda.Fill(ds,
"thc");
         
return ds.Tables["thc"];
         con.Close();
     }

下面方法使用的数据源就是上面的这个

     
private void fill()
      
{//做的一个方法,因为页内将有多次的绑定
         
//这里设置一个隐藏的Label,用与储存当前的页索引
         int cup = Convert.ToInt32(pagelbl.Text);
 
         PagedDataSource ps 
= new PagedDataSource();//NEW一个分页数据源
         ps.DataSource = odb.ds("select * from guest order by id desc").DefaultView;//送一个SQL语句进去,确定该数据源的数据源,有点绕吧,呵呵
         ps.AllowPaging = true;//允许分页
         ps.PageSize = 2;//设置页的数量
         ps.CurrentPageIndex = cup-1;
         
if (!IsPostBack)
          
{//判断页面是否第一次载入
             for (int i = 1; i <= ps.PageCount; i++)
              
{//循环出页码
                 pageddl.Items.Add(i.ToString());
             }

         }

         
//下面主要是控制上下翻页按纽是否起用
         pageup.Enabled = true;
         pagedown.Enabled 
= true;
         
if (ps.IsFirstPage)
          
{//如果是最前页,上页按纽不可用
             pageup.Enabled = false;
         }

         
if (ps.IsLastPage)
          
{//如果是最后页,下页按纽不可用
             pagedown.Enabled = false;
         }

         
//设置页码下拉菜单当前选中的值
         pageddl.SelectedItem.Text = cup.ToString();
         
//终于可以绑定给DataList了
         DataList1.DataSource = ps;
         DataList1.DataKeyField 
= "id";
         DataList1.DataBind();
     }


再下面是翻页事件的处理

     
protected void pageddl_SelectedIndexChanged(object sender, EventArgs e)
      
{//页码下拉菜单事件
         pagelbl.Text = pageddl.SelectedItem.Text.ToString();
         fill();
     }

     
protected void pagedown_Click(object sender, EventArgs e)
      
{//下页事件
         pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)+1);
         fill();
     }

     
protected void pageup_Click(object sender, EventArgs e)
      
{//上页事件
         pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)-1);
         fill();
第三种:
if(!IsPostBack)
            
{    //获取当前时间
                this.labdaytime.Text=Convert.ToString(System.DateTime.Now);

                pageSize 
=5;// 页大小
                currentPage = 0//当前页( 初始化当前页为第0页)
                ViewState["CurrentPage"= 0;
                recordCount 
=obj.CalculateRecord(string.Empty); // 计算共有多少条记录
                ViewState["RecordCount"= recordCount;
                pageCount
=0;                
                pageCount 
= recordCount / pageSize; // 计算共有多少页
                if (( recordCount % pageSize)>0)
                
{
                    pageCount
++;
                }


                ViewState[
"PageCount"= pageCount;

                BindDataList();
//绑定DATALIST

            }

分页    
 
首页
    
上一页
 
下一页
 
末页
到第几页    
获取查询的数据集
posted on 2006-06-23 15:52  过江  阅读(361)  评论(0编辑  收藏  举报