zoukankan      html  css  js  c++  java
  • DataGrid最简单全面的分页 2


    1 在绑定DataGrid方法设置允许分页;
    2 在绑定DataGrid方法里初始化;
    3 分页控制按钮属性
    4  分页返回总页数,并初始化按钮控件;
    5  linkBtn控件事件;
    =======================================
    1 设置允许分页;
      this.dgbend.PageSize=10;
        this.dgbend.AllowPaging=true;


    2 在绑定DataGrid页面里初始化;
      #region //初始化页面分页
        if(ds.Tables.Count>0)
        {
         if(ds.Tables[0].Rows.Count>0)
         {
          if(this.dgbend.PageCount>0)
          {
           #region
           int indexnum = this.dgbend.CurrentPageIndex;
           int pagenum  = this.dgbend.PageCount;

           if(indexnum==0)
           {
            this.labnum.Text="当前是第"+1+"页," +"总共"+pagenum+"页";
            this.btnnext.Enabled =true;
            this.btnlast.Enabled =true;
            this.btnfirst.Enabled=false;
            this.btnprev.Enabled =false;
           }
           if(indexnum > 0)
           {
            if(indexnum < pagenum)
            {
             indexnum=indexnum+1;
             this.labnum.Text="当前是第"+indexnum+"页," +"总共"+pagenum+"页";
            }
            if(indexnum == pagenum)
            {
             indexnum=indexnum;
             this.labnum.Text="当前是第"+indexnum+"页," +"总共"+pagenum+"页";
            }
            }

           if(this.dgbend.PageCount==1)
           {
            this.labnum.Text="当前是第"+1+"页," +"总共"+1+"页";
            this.btnnext.Enabled =false;
            this.btnlast.Enabled =false;
            this.btnfirst.Enabled=false;
            this.btnprev.Enabled =false;
           }

           #endregion

           }
         }
         if(ds.Tables[0].Rows.Count==0)
         {
          
           this.labnum.Visible=false;
           this.labnum.Text="没有记录!";
         }
        }
        #endregion

    3 //分页控制按钮属性
      private void btnEnabled(int indexpage)
      {
       int pageNum=NavigatBtn();
       if(pageNum ==0)
       {
        this.labnum.Text="没有记录!";
        this.btnfirst.Enabled =false;
        this.btnprev.Enabled =false;
        this.btnnext.Enabled =false;
        this.btnlast.Enabled =false;
       }
       if(pageNum-1 == 1)
       {
        this.btnfirst.Enabled =true;
        this.btnprev.Enabled =false;
        this.btnnext.Enabled =false;
        this.btnlast.Enabled =false;
       
       }
       if(pageNum > 1)
       {
        if(pageNum-1 == indexpage)
        {
         this.btnfirst.Enabled =true;
         this.btnprev.Enabled =true;
         this.btnnext.Enabled =false;
         this.btnlast.Enabled =false;
         
        }
        if(indexpage < pageNum-1)
        {
         this.btnfirst.Enabled =true;
         this.btnprev.Enabled =true;
         this.btnnext.Enabled =true;
         this.btnlast.Enabled =true;
         
        }
        if(indexpage ==0)
        {
         this.btnfirst.Enabled =false;
         this.btnprev.Enabled =false;
         this.btnnext.Enabled =true;
         this.btnlast.Enabled =true;
         
        }

       }
      
      }
    4 //分页返回总页数,并初始化按钮控件
      private int NavigatBtn()
      {
       int pageNum=0;
      
        if(this.dgbend.PageCount>0)
        {
         pageNum =this.dgbend.PageCount; 
        }
       if(pageNum == 1)
       {
        this.btnfirst.Enabled =true;
        this.btnprev.Enabled =false;
        this.btnnext.Enabled =false;
        this.btnlast.Enabled =false;
       }
       if(pageNum > 1)
       {
        this.btnfirst.Enabled =true;
        this.btnprev.Enabled =true;
        this.btnnext.Enabled =true;
        this.btnlast.Enabled =true;
       }
       return pageNum;
     
      }

    5 linkBtn控件事件;
     private void btnfirst_Click(object sender, System.EventArgs e)
      {
           this.dgbend.CurrentPageIndex=0;
        BindGrid();
       btnEnabled(0);

      }

      private void btnprev_Click(object sender, System.EventArgs e)
      {
           this.dgbend.CurrentPageIndex=System.Math.Max(this.dgbend.CurrentPageIndex -1,0);
        BindGrid();
        btnEnabled(this.dgbend.CurrentPageIndex);
      }

      private void btnnext_Click(object sender, System.EventArgs e)
      {
          this.dgbend.CurrentPageIndex=System.Math.Min(this.dgbend.PageCount -1,this.dgbend.CurrentPageIndex +1);
        BindGrid();
        btnEnabled(this.dgbend.CurrentPageIndex);
      }
      private void btnlast_Click(object sender, System.EventArgs e)
      {
       this.dgbend.CurrentPageIndex=this.dgbend.PageCount -1;
       BindGrid();
       btnEnabled(this.dgbend.CurrentPageIndex);
      }
    ------------------------------linkbtn---------

    private void Page_Load(object sender, System.EventArgs e)
      {
       // 在此处放置用户代码以初始化页面
       if(!this.Page.IsPostBack)
       {
           BindGrid();
       }
      }
      private void BindGrid()
      {
       //定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
       SqlConnection cnn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
       //创建数据适配器对象
       SqlDataAdapter da = new SqlDataAdapter("select ProductID,ProductName from Products order by  ProductID",cnn);
       //创建DataSet对象
       DataSet ds = new DataSet();
       try
       {
        //填充数据集
        da.Fill(ds, "testTable");
        //进行数据绑定
        this.dgbend.PageSize=10;
        this.dgbend.AllowPaging=true;
        
        dgbend.DataSource = ds;
        dgbend.DataBind();

              #region //初始化页面分页
        if(ds.Tables.Count>0)
        {
         if(ds.Tables[0].Rows.Count>0)
         {
          if(this.dgbend.PageCount>0)
          {
           #region
           int indexnum = this.dgbend.CurrentPageIndex;
           int pagenum  = this.dgbend.PageCount;

           if(indexnum==0)
           {
            this.labnum.Text="当前是第"+1+"页," +"总共"+pagenum+"页";
            this.btnnext.Enabled =true;
            this.btnlast.Enabled =true;
            this.btnfirst.Enabled=false;
            this.btnprev.Enabled =false;
           }
           if(indexnum > 0)
           {
            if(indexnum < pagenum)
            {
             indexnum=indexnum+1;
             this.labnum.Text="当前是第"+indexnum+"页," +"总共"+pagenum+"页";
            }
            if(indexnum == pagenum)
            {
             indexnum=indexnum;
             this.labnum.Text="当前是第"+indexnum+"页," +"总共"+pagenum+"页";
            }
            }

           if(this.dgbend.PageCount==1)
           {
            this.labnum.Text="当前是第"+1+"页," +"总共"+1+"页";
            this.btnnext.Enabled =false;
            this.btnlast.Enabled =false;
            this.btnfirst.Enabled=false;
            this.btnprev.Enabled =false;
           }

           #endregion

           }
         }
         if(ds.Tables[0].Rows.Count==0)
         {
          
           this.labnum.Visible=false;
           this.labnum.Text="没有记录!";
         }
        }
        #endregion

       }
       catch(Exception error)
       {
        Response.Write(error.ToString());
       }  
      }

      #region Web 窗体设计器生成的代码
      override protected void OnInit(EventArgs e)
      {
       //
       // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
       //
       InitializeComponent();
       base.OnInit(e);
      }
      
      /// <summary>
      /// 设计器支持所需的方法 - 不要使用代码编辑器修改
      /// 此方法的内容。
      /// </summary>
      private void InitializeComponent()
      {   
       this.btnfirst.Click += new System.EventHandler(this.btnfirst_Click);
       this.btnprev.Click += new System.EventHandler(this.btnprev_Click);
       this.btnnext.Click += new System.EventHandler(this.btnnext_Click);
       this.btnlast.Click += new System.EventHandler(this.btnlast_Click);
       this.Load += new System.EventHandler(this.Page_Load);

      }
      #endregion

      private void btnfirst_Click(object sender, System.EventArgs e)
      {
           this.dgbend.CurrentPageIndex=0;
        BindGrid();
       btnEnabled(0);

      }

      private void btnprev_Click(object sender, System.EventArgs e)
      {
           this.dgbend.CurrentPageIndex=System.Math.Max(this.dgbend.CurrentPageIndex -1,0);
        BindGrid();
        btnEnabled(this.dgbend.CurrentPageIndex);
      }

      private void btnnext_Click(object sender, System.EventArgs e)
      {
          this.dgbend.CurrentPageIndex=System.Math.Min(this.dgbend.PageCount -1,this.dgbend.CurrentPageIndex +1);
        BindGrid();
        btnEnabled(this.dgbend.CurrentPageIndex);
      }
      private void btnlast_Click(object sender, System.EventArgs e)
      {
       this.dgbend.CurrentPageIndex=this.dgbend.PageCount -1;
       BindGrid();
       btnEnabled(this.dgbend.CurrentPageIndex);
      }

       //分页控制按钮属性
      private void btnEnabled(int indexpage)
      {
       int pageNum=NavigatBtn();
       if(pageNum ==0)
       {
        this.labnum.Text="没有记录!";
        this.btnfirst.Enabled =false;
        this.btnprev.Enabled =false;
        this.btnnext.Enabled =false;
        this.btnlast.Enabled =false;
       }
       if(pageNum-1 == 1)
       {
        this.btnfirst.Enabled =true;
        this.btnprev.Enabled =false;
        this.btnnext.Enabled =false;
        this.btnlast.Enabled =false;
       
       }
       if(pageNum > 1)
       {
        if(pageNum-1 == indexpage)
        {
         this.btnfirst.Enabled =true;
         this.btnprev.Enabled =true;
         this.btnnext.Enabled =false;
         this.btnlast.Enabled =false;
         
        }
        if(indexpage < pageNum-1)
        {
         this.btnfirst.Enabled =true;
         this.btnprev.Enabled =true;
         this.btnnext.Enabled =true;
         this.btnlast.Enabled =true;
         
        }
        if(indexpage ==0)
        {
         this.btnfirst.Enabled =false;
         this.btnprev.Enabled =false;
         this.btnnext.Enabled =true;
         this.btnlast.Enabled =true;
         
        }

       }
      
      }
           
      //分页返回总页数,并初始化按钮控件
      private int NavigatBtn()
      {
       int pageNum=0;
      
        if(this.dgbend.PageCount>0)
        {
         pageNum =this.dgbend.PageCount; 
        }
       if(pageNum == 1)
       {
        this.btnfirst.Enabled =true;
        this.btnprev.Enabled =false;
        this.btnnext.Enabled =false;
        this.btnlast.Enabled =false;
       }
       if(pageNum > 1)
       {
        this.btnfirst.Enabled =true;
        this.btnprev.Enabled =true;
        this.btnnext.Enabled =true;
        this.btnlast.Enabled =true;
       }
       return pageNum;
     
      }


     }
    }
    =================================优化================

     //分页控制按钮属性
      private  void btnEnabled(DataGrid dg,int indexpage,LinkButton btnfirst,LinkButton btnprev,LinkButton btnnext,LinkButton btnlast)
      {
       int pageNum=NavigatBtn(dg,btnfirst,btnprev,btnnext,btnlast);
       if(pageNum ==0)
       {
        //this.labnum.Text="没有记录!";
        btnfirst.Enabled =false;
        btnprev.Enabled =false;
        btnnext.Enabled =false;
        btnlast.Enabled =false;
       }
       if(pageNum-1 == 1)
       {
        btnfirst.Enabled =true;
        btnprev.Enabled =false;
        btnnext.Enabled =false;
        btnlast.Enabled =false;
       
       }
       if(pageNum > 1)
       {
        if(pageNum-1 == indexpage)
        {
         btnfirst.Enabled =true;
         btnprev.Enabled =true;
         btnnext.Enabled =false;
         btnlast.Enabled =false;
         
        }
        if(indexpage < pageNum-1)
        {
         btnfirst.Enabled =true;
         btnprev.Enabled =true;
         btnnext.Enabled =true;
         btnlast.Enabled =true;
         
        }
        if(indexpage ==0)
        {
         btnfirst.Enabled =false;
         btnprev.Enabled =false;
         btnnext.Enabled =true;
         btnlast.Enabled =true;
         
        }

       }
      
      }

      //分页返回总页数,并初始化按钮控件
      private static int NavigatBtn(DataGrid dg,LinkButton btnfirst,LinkButton btnprev,LinkButton btnnext,LinkButton btnlast)
      {
       int pageNum=0;
      
       if(dg.PageCount>0)
       {
        pageNum =dg.PageCount; 
       }
       if(pageNum == 1)
       {
        btnfirst.Enabled =true;
        btnprev.Enabled =false;
        btnnext.Enabled =false;
        btnlast.Enabled =false;
       }
       if(pageNum > 1)
       {
        btnfirst.Enabled =true;
        btnprev.Enabled =true;
        btnnext.Enabled =true;
        btnlast.Enabled =true;
       }
       return pageNum;
     
      }

     

     public static void fenye(DataGrid dg,LinkButton btnfirst,LinkButton btnprev,LinkButton btnnext,LinkButton btnlast,Label labnum)
    {
     #region
     int indexnum = dg.CurrentPageIndex;
     int pagenum  = dg.PageCount;

     if(indexnum==0)
    {
     labnum.Text="当前是第"+1+"页," +"总共"+pagenum+"页";
     btnnext.Enabled =true;
     btnlast.Enabled =true;
     btnfirst.Enabled=false;
     btnprev.Enabled =false;
    }
     if(indexnum > 0)
    {
     if(indexnum < pagenum)
    {
     indexnum=indexnum+1;
     labnum.Text="当前是第"+indexnum+"页," +"总共"+pagenum+"页";
    }
     if(indexnum == pagenum)
    {
     indexnum=indexnum;
     labnum.Text="当前是第"+indexnum+"页," +"总共"+pagenum+"页";
    }
    }

     if(dg.PageCount==1)
    {
     labnum.Text="当前是第"+1+"页," +"总共"+1+"页";
     btnnext.Enabled =false;
     btnlast.Enabled =false;
     btnfirst.Enabled=false;
     btnprev.Enabled =false;
    }

     #endregion
    }
     }
    }
    ===================csj.08.06.30======================

    /// <summary>
      ///分页操作 csj_080630
      /// </summary>
      /// <param name="lable">显示共多少页,当前是第几页 lable</param>
      /// <param name="lkbtn">第一页,上一页,下一面,最后页 linkbtn</param>
      /// <param name="dggrid">要分页的datagrid</param>
      /// <param name="pagesize">设置每页条数</param>
      public static void DataGridPageNaivegate(System.Web.UI.WebControls.Label lable,System.Web.UI.WebControls.LinkButton[] lkbtn,System.Web.UI.WebControls.DataGrid dggrid,string pagesize)
      {
       int pageNum=0;
       dggrid.PageSize=int.Parse(pagesize.Trim().ToString());
       if(dggrid.PageCount>=0)
       {
        pageNum = dggrid.PageCount;
       }

       if(pageNum==0)
       {
        lable.Visible              =  false;
        lable.Text                  = "没有记录!";
        
        lkbtn[0].Enabled           = false;
        lkbtn[1].Enabled           = false;
        lkbtn[2].Enabled           = false;
        lkbtn[3].Enabled           = false;
       }
       if(pageNum> 0)
       {
        int indexnum = dggrid.CurrentPageIndex;   //获取当前页索引
        int pagenum  = dggrid.PageCount;          //获取页总数
        if(indexnum==0)
        {
         lable.Text="当前是第"+1+"页," +"总共"+pagenum+"页";
         lkbtn[0].Enabled           = false;
         lkbtn[1].Enabled           = false;
         lkbtn[2].Enabled           = true;
         lkbtn[3].Enabled           = true;
        }
        if(indexnum > 0)
        {
         if(indexnum < pagenum)
         {
          indexnum=indexnum+1;
          lable.Text        = "当前是第"+indexnum+"页," +"总共"+pagenum+"页";
          lkbtn[0].Enabled           = true;
          lkbtn[1].Enabled           = true;
          lkbtn[2].Enabled           = true;
          lkbtn[3].Enabled           = true;
         }
         if(indexnum == pagenum)
         {
          indexnum=indexnum;
          lable.Text        = "当前是第"+indexnum+"页," +"总共"+pagenum+"页";
          lkbtn[0].Enabled           = true;
          lkbtn[1].Enabled           = true;
          lkbtn[2].Enabled           = false;
          lkbtn[3].Enabled           = false;
         }
        }
        if(dggrid.PageCount==1)
        {
         lable.Text="当前是第"+1+"页," +"总共"+1+"页";

         lkbtn[0].Enabled            = false;
         lkbtn[1].Enabled            = false;
         lkbtn[2].Enabled            = false;
         lkbtn[3].Enabled            = false;
        }
                  MaterielOperate.QueryMateriel(ref dggrid,"");
       }
      }


    =================================================

  • 相关阅读:
    关闭Windows的CTRL+ALT+DEL 和 ALT+TAB组合键的方法
    VC中常用文件操作(一)
    VC 创建NT服务程序
    几个操作文件的API函数
    VC中常用文件操作(二) ——INI文件操作
    初学OpenCV之图像坐标读取函数cvGet2D()
    OpenCV学习之图像读取与显示
    SLT容器之vector简单实现C++运行时多态
    C/C++文件——数据写入、读取
    OpenCV学习之视频读取与帧的提取、显示及保存
  • 原文地址:https://www.cnblogs.com/csj007523/p/1210338.html
Copyright © 2011-2022 走看看