小弟写了一段程序,主要是在winform中添加datagridview来实现数据的实时更新和分页,
但是由于刷新太快,导致不能翻页,而且滚动条也不能拖动。
有哪位高手可以帮帮忙啊!!!急用!!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.SqlTypes;namespace TEXT5
{
    public partial class Form1 : Form
    {
        SqlDataAdapter da;
        DataTable dt;
        int PageCount;
        int maxRecord;
        int pageSize;
        int currentPage;
        int recordNo;        private void LoadPage()
        {
            int i;
            int startRecord;
            int endRecord;
            DataTable dtTemp;
            dtTemp = dt.Clone();            if (currentPage == PageCount)
            {
                endRecord = maxRecord;
            }
            else
            {
                endRecord = pageSize * currentPage;
            }
            startRecord = recordNo;
            for (i = startRecord; i < endRecord; i++)
            {
                dtTemp.ImportRow(dt.Rows[i]);
                recordNo += 1;
            }
            dataGridView1.DataSource = dtTemp;
        }
        public Form1()
        {
            InitializeComponent();
        }        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = "Initial Catalog = shiyan;Data Source = localhost;Integrated Security = SSPI;";
            da = new SqlDataAdapter("select   *   from   CH4", conn);
            dt = new DataTable();
            da.Fill(dt);
            BindingSource bs = new BindingSource();
            bs.DataSource = dt;
            this.dataGridView1.DataSource = bs;
                   DataColumn myCol = new DataColumn();
            myCol.ColumnName = "瓦斯浓度";
            myCol.DataType = typeof(string);
            dt.Columns.Add(myCol);            Random r1 = new Random();
            for (int i = 0; i < 100; i++)
            {
                DataRow row = dt.Rows[i];
                row.BeginEdit();
                row["瓦斯浓度"] = r1.Next(100).ToString();
                row.EndEdit();
               
            }
            FillGrid();
          
            timer1.Interval = 1000;
           
  
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Enabled = true;
            timer1.Interval = 1;          
        }        private void btnFirstPage_Click(object sender, EventArgs e)
        {
            if (currentPage == 1)
            {
                MessageBox.Show("已经是第一页了");
                return;
            }            currentPage = 1;
            recordNo = 0;
            LoadPage();
        }        private void btnPreviousPage_Click(object sender, EventArgs e)
        {
            currentPage -= 1;
            if (currentPage < 1)
            {
                MessageBox.Show("已经是第一页了");
                currentPage = 1;
                return;
            }
            else
            {
                recordNo = pageSize * (currentPage - 1);
            }
            LoadPage();
        }        private void btnNextPage_Click(object sender, EventArgs e)
        {
            currentPage += 1;
            if (currentPage > PageCount)
            {
                currentPage = PageCount;
                if (recordNo == maxRecord)
                {
                    MessageBox.Show("已经是最后一页了");
                    return;
                }
            }
            LoadPage();
        }        private void btnLastPage_Click(object sender, EventArgs e)
        {
            if (recordNo == maxRecord)
            {
                MessageBox.Show("已经是最后一页了");
                return;
            }
            currentPage = PageCount;
            recordNo = pageSize * (currentPage - 1);
            LoadPage();
        }
        public void FillGrid()
        { 
            pageSize = 10;
            maxRecord = dt.Rows.Count;         
            PageCount = maxRecord / pageSize;
            if ((maxRecord % pageSize) > 0)
            {
                PageCount += 1;
            }
            currentPage = 1;
            recordNo = 0;
            LoadPage();        }
    }
}