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 也可以,你先建立个数据库,录入几个数实验下,看是不是想的效果。