private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
DataGrid1.VirtualItemCount = getcount();
DataGrid1.DataSource = ListProduct(1,DataGrid1.PageSize);
DataGrid1.DataBind();
}
}
private int getcount()
{
return Convert.ToInt32(DataAccess.ExecuteScalar("select count(*) from Orders"));
}
private DataTable ListProduct(int pageIndex, int pageSize)
{
SqlParameter[] sp = new SqlParameter[3];
SqlParameter spr=new SqlParameter("@QueryStr",SqlDbType.VarChar,500);
spr.Direction=ParameterDirection.Input;
spr.Value ="select top 100 percent * from orders order by OrderID";
sp[0] = spr;
SqlParameter spr1=new SqlParameter("@PageSize",SqlDbType.Int,4);
spr1.Direction=ParameterDirection.Input;
spr1.Value =DataGrid1.PageSize;
sp[1] = spr1;
SqlParameter spr2=new SqlParameter("@PageCurrent",SqlDbType.Int,4);
spr2.Direction=ParameterDirection.Input;
spr2.Value =pageIndex;
sp[2] = spr2;
DataSet ds = new DataSet();
DataAccess.ExecutePorcedure("page_show",sp,ref ds);
return ds.Tables[0];
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.DataSource = ListProduct(e.NewPageIndex+1, DataGrid1.PageSize); // 从数据库中读取新的数据
DataGrid1.DataBind();
DataGrid1.CurrentPageIndex =e.NewPageIndex;
}
}
protected System.Web.UI.WebControls.DataGrid DataGrid1;
DataGrid1.AllowPaging = true;
DataGrid1.AllowCustomPaging = true;
然后在设置要显示的一页的大小
DataGrid1.PageSize = 100; // 在显示的时候依据实际的数据显示。
设置一页大小后,如果要让DataGrid实际分出页数来,还必须设置
DataGrid1.VirtualItemCount = GetProductCount() ; // GetProductCount() 的功能是获取满足条件的产品数目, 这里的条件就是productid<200000. 设置这项属性后,那么这个DataGrid的页数就是
VirtualItemCount/PageSize, 也就是PageCount的值. 不能对PageCount直接赋值,因为他是只读的属性.
这些属性设置好后再绑定数据:
存储过程用的是邹建大哥的..呵呵,,注意sql语句的写法要写top
浙公网安备 33010602011771号