namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public static int INum=0,AllCount=0; int Sizes = 8;//每页显示数 private void Form1_Load(object sender, EventArgs e) { using (SqlConnection con = new SqlConnection(@"server = (local)\SQL2005;Integrated Security = true;" + "DataBase = db_09")) { SqlDataAdapter da = new SqlDataAdapter("select * from 工资表",con); DataTable dt = new DataTable(); da.Fill(dt); int i=dt.Rows.Count; AllCount = i; //数据总数 int m = i % Sizes; if (m == 0) { m = i / Sizes; } else { m = i / Sizes+1; } this.label3.Text = m.ToString(); show(0,Sizes); this.label4.Text = "1"; } } /// <summary> /// 显示数据 /// </summary> /// <param name="i">开始位置从0开始</param> /// <param name="j">显示数据个数</param> private void show(int i,int j) { SqlConnection con = new SqlConnection(@"server = (local)\SQL2005;Integrated Security = true;" + "DataBase = db_09"); SqlDataAdapter daone = new SqlDataAdapter("select * from 工资表", con); DataSet dsone = new DataSet(); daone.Fill(dsone, i, j, "one"); this.dataGridView1.DataSource = dsone.Tables["one"].DefaultView; dsone = null; } private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)//第一页 { this.dataGridView1.DataSource = null; this.label4.Text = "1"; show(0, Convert.ToInt16(this.label4.Text) * Sizes); } private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)//末页 { this.label4.Text = this.label3.Text; this.dataGridView1.DataSource = null; show(Convert.ToInt16(this.label4.Text) * Sizes - Sizes,AllCount-1); } private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)//上一页 { this.dataGridView1.DataSource = null; int m=Convert.ToInt16(this.label4.Text) - 1; if (m < 1) { this.label4.Text = "1"; } else { this.label4.Text = m.ToString(); } int a = Convert.ToInt16(this.label4.Text) * Sizes - Sizes; show(a, Sizes); } private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)//下一页 { this.dataGridView1.DataSource = null; int m = Convert.ToInt16(this.label4.Text) + 1; if (m > Convert.ToInt16(this.label3.Text)) { this.label4.Text = this.label3.Text; } else { this.label4.Text = m.ToString(); } int a = Convert.ToInt16(this.label4.Text) * Sizes - Sizes; show(a, Sizes); } } }
这个就是分页显示数据的 看看吧,改一些参数值,实验下 看是不是想要的效果,这里4个label 的顺序是,首页,末页,上一页,下一页。可以根据需要变下。 把label换成button 也可以,你先建立个数据库,录入几个数实验下,看是不是想的效果。
C#winform上下页,首末页
最新推荐文章于 2022-09-10 16:57:50 发布