您当前的位置: 首页 >  c#

彭世瑜

暂无认证

  • 1浏览

    0关注

    2791博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C#编程-79:DataGridView分页显示_彭世瑜_新浪博客

彭世瑜 发布时间:2017-07-30 15:01:55 ,浏览量:1

C#编程-79:DataGridView分页显示
  1. using System;
  2. using System.Data;
  3. using System.Data.SqlClient;
  4. using System.Windows.Forms;
  5.  
  6. namespace DataGridViewDataNavigate
  7. {
  8.     public partial class Form1 : Form
  9.     {
  10.         public Form1()
  11.         {
  12.             InitializeComponent();
  13.         }
  14.         SqlDataAdapter sqladp;
  15.         DataSet dateSet = new DataSet();
  16.         private int startVal=0;//起始值
  17.         private int perPageVal = 3;//每页显示数量
  18.         private int totalVal;//总条数
  19.         private int currentPage=0;//当前页
  20.         private void Form1_Load(object sender, EventArgs e)
  21.         {
  22.             string constr = @"server=(localdb)\Projects;integrated security=sspi;database=company";
  23.             SqlConnection sqlcon = new SqlConnection(constr);
  24.             try
  25.             {
  26.                 sqlcon.Open();
  27.                 string sql = "select * from clerk";
  28.                 sqladp = new SqlDataAdapter(sql,sqlcon);
  29.                 sqladp.Fill(dateSet,"clerk");
  30.                 //this.dataGridView1.DataSource = dateSet.Tables["clerk"];
  31.                 sqlcon.Close();
  32.  
  33.                 //计算总页数
  34.                 totalVal = dateSet.Tables["clerk"].Rows.Count;
  35.                 int totalPage=(totalVal%perPageVal==0)?(totalVal/perPageVal):(totalVal/perPageVal+1);
  36.                 lblTotalPage.Text = "/" + totalPage;
  37.                 LoadData();
  38.             }
  39.             catch (Exception ex)
  40.             {
  41.  
  42.                 MessageBox.Show(ex.Message);
  43.             }
  44.  
  45.         }
  46.         private void LoadData()
  47.         {
  48.             //显示当前页面
  49.             currentPage = startVal / perPageVal + 1;
  50.             txtCurrentPage.Text = currentPage.ToString();
  51.  
  52.             //绑定数据
  53.             dateSet.Clear();
  54.             sqladp.Fill(dateSet, startVal, perPageVal, "clerk");
  55.              
  56.            bindingSource1.DataSource=dateSet.Tables[0];
  57.            bindingNavigator1.BindingSource = bindingSource1;
  58.            dataGridView1.DataSource = bindingSource1;
  59.         }
  60.  
  61.         private void bindingNavigator1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
  62.         {
  63.             if (e.ClickedItem.Text == "上一页")
  64.             {
  65.                 startVal = startVal - perPageVal;
  66.                 if (startVal  totalVal)
  67.                 {
  68.                     startVal = startVal - perPageVal;
  69.                     MessageBox.Show("已经是最后一页");
  70.                     return;
  71.                 }
  72.              
  73.             }
  74.             LoadData();
  75.         }
  76.     }
  77. }
关注
打赏
1665367115
查看更多评论
立即登录/注册

微信扫码登录

0.3173s