DataGridView中分页显示数据
int PageSize = 0;
int Max = 0;
int PageCount = 0;
int PageCurrent = 0;
int RowCurrent = 0;
private void LoadData()
{
int StartPos = 0;
int EndPos = 0;
DataTable TempTable = CostTable.Clone();
if (PageCurrent == PageCount)
EndPos = Max;
else
EndPos = PageCurrent * PageSize;
StartPos = RowCurrent;
for (int i = StartPos; i < EndPos; i++)
{
try
{
TempTable.ImportRow(CostTable.Rows[i]);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
RowCurrent++;
}
dataGridView1.DataSource = TempTable;
dataGridView1.Update();
toolStripStatusLabel2.Text = string.Format("当前页数 {0}/{1}", PageCurrent, PageCount);
}
private void showToolStripMenuItem_Click(object sender, EventArgs e)
{
string strSQL = "SELECT * FROM Cost";
CostTable.Clear();
Common.AccessDb.QueryTable(strSQL, ref CostTable);
dataGridView1.DataSource = CostTable;
Max = CostTable.Rows.Count;
PageSize = 10;
PageCount = Max / PageSize;
if (Max % PageSize > 0)
PageCount++;
PageCurrent = 1;
RowCurrent = 0;
LoadData();
SetDgvHeaderText();
}
private void toolStripButton6_Click(object sender, EventArgs e)
{
PageCurrent++;
if (PageCurrent > PageCount)
{
PageCurrent--;
MessageBox.Show("已经到最后一页!");
return;
}
else
RowCurrent = PageSize * (PageCurrent - 1);
LoadData();
}
private void toolStripButton7_Click(object sender, EventArgs e)
{
PageCurrent--;
if (PageCurrent < 1)
{
PageCurrent++;
MessageBox.Show("已经是第一页!");
return;
}
else
RowCurrent = PageSize * (PageCurrent - 1);
LoadData();
}