Griview 分頁功能實現 asp.net

分頁效果圖:


Griview 數據綁定:

    private void hh()//gridview綁定數據
    {
        using (SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=StaffMs;Integrated Security=True"))
        {

            SqlCommand com = new SqlCommand("select * from(select row_number()over(order by sf_number)as number ,*from dbo.staff)a where number between @a and @b", con);//取@a到@b的數據
            int lab1 = int.Parse(this.lab1.Text);//la1.text初始值是1
            int a = (lab1 - 1) * 10 + 1;
            int b = lab1 * 10;
            com.Parameters.Add(new SqlParameter("@a",a));
            com.Parameters.Add(new SqlParameter("@b",b));//讀取a到b之間的數據
            SqlDataAdapter dr = new SqlDataAdapter(com);
            DataSet dt = new DataSet();
            dr.Fill(dt);
            this.GridView1.DataKeyNames = new string[] { "sf_number" };//更新時需要用
            this.GridView1.DataSource=dt.Tables[0];
            this.GridView1.DataBind();
            SqlCommand com1 = new SqlCommand("select count(*) from dbo.staff", con);//查詢表中記錄總數
            con.Open();
            int count = int.Parse(com1.ExecuteScalar().ToString());//返回第一行第一列的數據,也就是表中記錄總數
            int pagecount = count / 10;//數據分頁,每十個數據分一頁 !若想五個或六個數據的話,修改綠色背景處即可
            if(pagecount%10!=0)
            {
                pagecount++;
                lab3.Text = pagecount.ToString();
           
            }

        }
    
    }

首頁 上一頁 1/1下一頁 最後一頁 :

 protected void btnfirst_Click(object sender, EventArgs e)//首頁
    {
        lab1.Text = "1";
        hh();
    }
    protected void btnqian_Click(object sender, EventArgs e)//上一頁
    {
        int jian = int.Parse(lab1.Text);
        jian--;
        if (jian>=1)
        {
            lab1.Text = jian.ToString();
        }
        hh();
    }
    protected void btnhou_Click(object sender, EventArgs e)//下一頁
    {
        int jia = int.Parse(lab1.Text);
        jia++;
        if(jia<=int.Parse(lab3.Text))
        {
         lab1.Text = jia.ToString();
        }
       
        hh();
    }
   
    protected void btnlast_Click(object sender, EventArgs e)//最後一頁
    {
        lab1.Text =lab3.Text;
        hh();
    }





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章