datagridview实现在下面。当然用存储过程分页取数据会更方便一些。 这里我假设datagridview一页显示五行,两秒变换一次。 拖一个时间控件到页面上,设置Interval属性为2000. 另:在最后计算取得行数时有问题,你自己算算就行了 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication1 { public partial class Form1 : Form { private DataSet myDataSet = new DataSet(); private int DataRowsCountTotal = 0; private int PageCount = 0; private int residualRowsCount = 0; private int TakeCount = 0; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string myConnectString = "Data Source=emp05;Initial Catalog=SHOWS_Web;Persist Security Info=True;User ID=sa;Password=inetsn@SQL#No.0"; SqlConnection myConn = new SqlConnection(myConnectString); myConn.Open(); SqlCommand myComm = new SqlCommand("SELECT UserID,UserName FROM Users", myConn); SqlDataAdapter myAdap = new SqlDataAdapter(); myAdap.SelectCommand = myComm; myAdap.Fill(myDataSet,"myData"); DataRowsCountTotal = PageCount = myDataSet.Tables[0].Rows.Count; PageCount = DataRowsCountTotal / 5; residualRowsCount = DataRowsCountTotal % 5; DataGrieDataBind(0); this.timer1.Start(); } private void DataGrieDataBind(int PageSequence) { DataTable myDt = new DataTable(); myDt = myDataSet.Tables[0].Clone(); myDt.Clear(); if(PageSequence > PageCount) { for(int i =5*PageSequence -1; i <= DataRowsCountTotal -1;i++) { myDt.ImportRow(myDataSet.Tables[0].Rows[i]); } } else { for (int i = 5 * PageSequence; i <= 5 * (PageSequence+1)-1; i++) { myDt.ImportRow(myDataSet.Tables[0].Rows[i]); } } myDt.AcceptChanges(); this.dataGridView1.DataSource = myDt; } private void timer1_Tick(object sender, EventArgs e) { TakeCount = TakeCount + 1; if (TakeCount > PageCount) { if (residualRowsCount == 0) { TakeCount = 0; } } DataGrieDataBind(TakeCount); } }
转载于:https://www.cnblogs.com/stragon/archive/2009/12/20/1628205.html