基本功能:分页(即包括DataGrid自定义分页,也包括自己写的分页)
提示当前页,以及总记录数。
先建一个aspx页面,这里我取名为:Grade.aspx
在Grade.aspx.cs下:
首先加一引用 using System.Data.SqlClient;
第一步:写一个绑定函数:
private void BindGrid()
{
System.Data.SqlClient.SqlConnection con=cn;
string str ="select * from SteelGrade order by 钢种代码";
System.Data.DataSet ds=new DataSet();
System.Data.SqlClient.SqlDataAdapter da=new SqlDataAdapter(str,con);
da.Fill(ds,"JTQSpecStand");
MyDataGrid.DataSource=ds.Tables["JTQSpecStand"].DefaultView;
Lab_Count.Text="目前钢种总数 "+ds.Tables["JTQSpecStand"].Rows.Count.ToString();
MyDataGrid.DataBind();
ShowStats();
}
第二步;写一个连接,并写好Page_Load事件
public void OpenDatabase()
{
cn.ConnectionString="server=172.16.2.2;database=movex12;uid=sa;pwd=tpcims";
cn.Open();
}
在Page_Load事件中:
private void Page_Load(object sender, System.EventArgs e)
{
btnFirst.Text = "最首页";
btnPrev.Text = "前一页";
btnNext.Text = "下一页";
btnLast.Text = "最后页";
OpenDatabase();
BindGrid();
}
第三步 //用来显示一些信息的
private void ShowStats()
{
lblCurrentIndex.Text = "第 " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " 页 ";
lblPageCount.Text = "总共 " + MyDataGrid.PageCount.ToString() + " 页 ";
}
public void MyDataGrid_Page(object sender,DataGridPageChangedEventArgs e)
{
int startIndex;
startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize;
MyDataGrid.CurrentPageIndex = e.NewPageIndex;
BindGrid();
ShowStats();
}
第四步: 最首页、上一页、下一页、最后页的相应代码如下:
//执行下一页
private void btnNext_Click(object sender, System.EventArgs e)
{
if(MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
{
MyDataGrid.CurrentPageIndex += 1;
BindGrid();
ShowStats();
}
}
//执行前一页
private void btnPrev_Click(object sender, System.EventArgs e)
{
if(MyDataGrid.CurrentPageIndex >0)
{
MyDataGrid.CurrentPageIndex -= 1;
BindGrid();
ShowStats();
}
}
//执行最首页
private void btnFirst_Click(object sender, System.EventArgs e)
{
MyDataGrid.CurrentPageIndex = 0;
BindGrid();
ShowStats();
}
//执行最后一页
private void btnLast_Click(object sender, System.EventArgs e)
{
MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
BindGrid();
ShowStats();
}
--效果图: