添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

正巧我坐过类似的一个测试,可以帮助你下

首先你要了解bindingSource  和 bindingNavigator 控件。

这里我说的是不利用第三方的分页控件。

配置如下

m_cardDataSet.Tables[0]在文中表示为初次查询出来的所有结果信息

给你提供我写的两个函数


int pageSize = 50;//每页显示的行数

int nMax = 0;//总记录数

int pageCount = 0;//页数

int pageCurrent = 0;//当前页号

int nCurrent = 0;//当前行号

//初始化分页信息-根据传递的table表信息

public void InitDataTable(DataTable p_dataTable)

{

nMax = p_dataTable.Rows.Count;

pageCount = (nMax / pageSize);

if (nMax % pageSize > 0)

{

pageCount++;

}

pageCurrent = 1;

nCurrent = 0;

LoadData(p_dataTable);

}

//加载分页信息到页面中

public void LoadData(DataTable p_dataTable)

{

int nStartPos = 0;

int nEndPos = 0;

DataTable deTemp = new DataTable();

deTemp = p_dataTable.Clone();


if (pageCurrent == pageCount)

{

nEndPos = nMax;

}

else

{

nEndPos = pageSize * pageCurrent;

}

nStartPos = nCurrent;


pageCountNumber.Text = "共" + pageCount.ToString() + "页";

currentPage.Text = "第" + Convert.ToString(pageCurrent) + "页";


if (p_dataTable.Rows.Count > 0)

{


for (int i = nStartPos; i < nEndPos; i++)

{

deTemp.ImportRow(p_dataTable.Rows[i]);

nCurrent++;

}

}

bdsInfo.DataSource = deTemp;

bdnInfo.BindingSource = bdsInfo;

carDataDgv.DataSource = bdsInfo;

}



//bindingNavigator 绑定的函数

private void bdnInfo_ItemClicked(object sender, ToolStripItemClickedEventArgs e)

{

if (e.ClickedItem.Text == "上一页")

{

pageCurrent--;

if (pageCurrent <= 0)

{

MessageBox.Show("已经是第一页,请点击下一页!");

return;

}

else

{

nCurrent = pageSize * (pageCurrent - 1);

}

LoadData(m_cardDataSet.Tables[0]);

}


if (e.ClickedItem.Text == "下一页")

{

pageCurrent++;

if (pageCurrent > pageCount)

{

MessageBox.Show("已经是最后一页,请点击上一页!");

return;

}

else

{

nCurrent = pageSize * (pageCurrent - 1);

}

LoadData(m_cardDataSet.Tables[0]);

}


if (e.ClickedItem.Text == "首页")

{

pageCurrent=1;

nCurrent = pageSize * (pageCurrent - 1);


LoadData(m_cardDataSet.Tables[0]);

}

if (e.ClickedItem.Text == "尾页")

{

pageCurrent = pageCount;


if (pageCurrent > 0)

{

nCurrent = pageSize * (pageCurrent - 1);

}

else

{

nCurrent = 0;

}


LoadData(m_cardDataSet.Tables[0]);

}

}