zoukankan      html  css  js  c++  java
  • datagridview定时分页(翻页)

    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);
            }
        }

  • 相关阅读:
    无题..
    让Windows 2003 Server支持ASP程序
    下雪
    比较经典的.NET基础
    XML几种操作
    某年某月有几天
    .NET操作Word(傻瓜型)
    XML 简单操作
    一首歌
    ASP.NET:掌握Web窗体的生命周期与状态管理(摘自网络)
  • 原文地址:https://www.cnblogs.com/stragon/p/1628205.html
Copyright © 2011-2022 走看看