分页

来源:互联网 发布:all凌 all霆 乐乎 编辑:程序博客网 时间:2024/05/12 00:27
 
 protected void Page_Load(object sender, EventArgs e)
    
{

        
if (!Page.IsPostBack)
        
{

            
int pageIndex = 1;
            
if (Request.Params["page"!= null && Request.Params["page"].ToString() != "")
            
{
                Session[
"pagePro"= Convert.ToInt32(Request.Params["page"]);
                pageIndex 
= Convert.ToInt32(Request.Params["page"]);
            }

            
else
            
{
                
if (Session["pagePro"!= null && Session["pagePro"].ToString() != "")
                
{
                    pageIndex 
= Convert.ToInt32(Session["pagePro"]);
                }

                
else
                
{
                    pageIndex 
= 1;
                    Session[
"pagePro"= 1;
                }

            }


            dataBind(pageIndex);
        }



    }

private void dataBind(int pageIndex)
    
{
        
        pageIndex
--;

        
//调用业务逻辑层的公共类产生对象,以便使用公共分页方法        
        PFCMIS.BLL.Common.CommonUse combll = new PFCMIS.BLL.Common.CommonUse();
        
string strWhere = "";
        
//Session传值注意修改,命名方式要求规范
        if (Session["strCertificateInfoWhere"!= null && Session["strCertificateInfoWhere"].ToString() != "")
        
{
            strWhere 
= Session["strCertificateInfoWhere"].ToString();
        }

        DataSet ds 
= new DataSet();
        
//调用业务逻辑层的函数返回查询的数据集结果
        int record_Count = combll.PaginationCount("vwPracGrad", strWhere);//获取总行数
        ds = combll.Pagination("StuNo""vwPracGrad"this.grid.PageSize, pageIndex, strWhere);

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


        
int page_Size = grid.PageSize;
        
//int page_Size = 20;
        int totalPages = int.Parse(Math.Ceiling((double)record_Count / page_Size).ToString());
        
if (totalPages > 0)
        
{
            
if ((pageIndex + 1> totalPages)
                pageIndex 
= totalPages - 1;
        }

        
else
        
{
            pageIndex 
= 0;
        }


        grid.DataBind();

        
int page_Count = totalPages;
        
int page_Current = pageIndex + 1;

        Page011.Record_Count 
= record_Count;
        Page011.Page_Count 
= page_Count;
        Page021.Page_Count 
= page_Count;

        Page011.Page_Size 
= page_Size;
        Page021.Page_Size 
= page_Size;
        Page011.Page_Current 
= page_Current;
        Page021.Page_Current 
= page_Current;


        
//***************************************************************************
        
//以前用的分页方法
        ////调用业务逻辑层的类产生一对象
        //PFCMIS.BLL.PfcEduAdmMIS.PracCertificate probll = new PFCMIS.BLL.PfcEduAdmMIS.PracCertificate();

        
//string strWhere = "";
        
//if (Session["strWherePro"] != null && Session["strWherePro"].ToString() != "")
        
//{
        
//    strWhere = Session["strWherePro"].ToString();
        
//}
        
//DataSet ds = new DataSet();

        
////调用业务逻辑层的函数返回查询的数据集结果
        //ds = probll.GetList(strWhere);
        
//int record_Count = ds.Tables[0].Rows.Count;
        
//grid.DataSource = ds.Tables[0].DefaultView;
        
//int page_Size = grid.PageSize;
        
//int totalPages = int.Parse(Math.Ceiling((double)record_Count / page_Size).ToString());
        
//if (totalPages > 0)
        
//{
        
//    if ((pageIndex + 1) > totalPages)
        
//        pageIndex = totalPages - 1;
        
//}
        
//else
        
//{
        
//    pageIndex = 0;
        
//}
        
//grid.CurrentPageIndex = pageIndex;
        
//grid.DataBind();
        
//int page_Count = grid.PageCount;

        
//int page_Current = pageIndex + 1;

        
//Page011.Record_Count = record_Count;
        
//Page011.Page_Count = page_Count;
        
//Page021.Page_Count = page_Count;

        
//Page011.Page_Size = page_Size;
        
//Page021.Page_Size = page_Size;
        
//Page011.Page_Current = page_Current;
        
//Page021.Page_Current = page_Current;
        
//************************************************************************
    }