







DataList分页(与Repeater控件的例子相似,都以pubs数据库中的authors为例)
2006年12月27日 星期三 10:10
DataList控件和Repeater控件的分页显示方法很相似,都是借助PagedDataSource类来实现,该类封装了DataGrid控件的分页属性.
1首先在页前代码:
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"address")%>
<%#DataBinder.Eval(Container.DataItem,"city")%>
<%#DataBinder.Eval(Container.DataItem,"zip")%>
</ItemTemplate>
2、然后在后台代码
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
DataListDataBind();}
}
其次定义一个数据绑定的方法
private void DataListDataBind()
{
SqlConnection conn=new SqlConnection(ConfigurationSettings.AppSettings["con"].ToString());
string sql="select address,city,zip from authors";
SqlDataAdapter da=new SqlDataAdapter(sql,conn);
DataSet ds=new DataSet();
try
{
da.Fill(ds,"authors");
PagedDataSource objPage1=new PagedDataSource();
objPage1.DataSource=ds.Tables["authors"].DefaultView;
objPage1.AllowPaging=true;
objPage1.PageSize=5;
int curPage;
if(Request.QueryString["Page"]!=null)
curPage=Convert.ToInt32(Request.QueryString["Page"]);
else
curPage=1;
objPage1.CurrentPageIndex=curPage-1;
this.Label2.Text="当前页:第"+curPage.ToString()+"页";
if(!objPage1.IsFirstPage)
{
this.HyperLink3.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(curPage-1);
}
if(!objPage1.IsLastPage)
{
this.HyperLink4.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(curPage+1);
}
this.DataList1.DataSource=objPage1;
this.DataList1.DataBind();
}
catch(Exception error)
{
Response.Write(error.ToString());
}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。