ASP.NET基础教程-Repeater控件分页显示数据
2007-10-24 08:23:17
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://chenxing.blog.51cto.com/240526/47482 |
由于Repeater控件没有与分页显示相关的属性,因此要实现分页必须使用其他的方式。在System.Web.UI.WebControls命名空
间中有一个PagedDataSource类,该类封装了DataGrid控件的分页属性,这些属性使DataGrid控件可以实现分页,此类也可以 用来实现Repeater控件的数据分页显示。PagedDataSource类的常用属性如下: ![]() 一、HTML代码 <TABLE id="TABLE1" border="0"><TBODY> <TR> <TD align="right"> <asp:label ID="lblCurPage" Runat="server"></asp:label> <asp:HyperLink ID="InkPrev" Runat="server">上一页</asp:HyperLink> <asp:HyperLink ID="InkNext" Runat="server">下一页</asp:HyperLink> </TD> </TR> <TR> <TD><HR color="red" size="1"> <asp:Repeater id="Repeater1" runat="server"> <HeaderTemplate><h3>页眉模板---人员详细信息</h3><table> </HeaderTemplate> <ItemTemplate><font color="blue"> <%# DataBinder.Eval(Container.DataItem, "id") %> <%# DataBinder.Eval(Container.DataItem, "name") %> <%# DataBinder.Eval(Container.DataItem, "station") %> <%# DataBinder.Eval(Container.DataItem, "level") %> <%# DataBinder.Eval(Container.DataItem, "dept") %></font> </ItemTemplate> <AlternatingItemTemplate><font color="red"> <%# DataBinder.Eval(Container.DataItem, "id") %> <%# DataBinder.Eval(Container.DataItem, "name") %> <%# DataBinder.Eval(Container.DataItem, "station") %> <%# DataBinder.Eval(Container.DataItem, "level") %> <%# DataBinder.Eval(Container.DataItem, "dept") %></font> </AlternatingItemTemplate> <SeparatorTemplate><hr color="#66ff99" width="100%"> </SeparatorTemplate> <FooterTemplate></table><h3>页眉模板---显示结束</h3> </FooterTemplate> </asp:Repeater> </TD> </TR> </TABLE> ![]() 二、页面加载事件代码
private void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack) { con=new SqlConnection(@ConfigurationSettings.AppSettings["server"]); //页面初始化进行数据绑定
RepeaterDataBind(); } } 三、RepeaterDataBind()方法 private void RepeaterDataBind() { con.Open(); string oSql="select id,name,station,level,dept from verify order by dept,station"; SqlDataAdapter da=new SqlDataAdapter(oSql,con); DataSet ds=new DataSet(); da.Fill(ds,"verify"); con.Close(); //创建分页类 PagedDataSource objPage=new PagedDataSource(); //设置数据源 DefaultView:获取可能包含筛选视图或游标位置表的自定义视图 objPage.DataSource=ds.Tables["verify"].DefaultView; //允许分页 objPage.AllowPaging=true; //设置每页显示的项数 objPage.PageSize=5; //定义变量用来保存当前页的索引值 int CurPage; //判断是否具有页面跳转的请求 if(Request.QueryString["Page"]!=null) { CurPage=Convert.ToInt32(Request.QueryString["Page"]); } else { CurPage=1; } //设置当前页的索引 objPage.CurrentPageIndex=CurPage-1; //显示状态信息 lblCurPage.Text="当前页:第"+CurPage.ToString()+"页"; //如果当前页面不是首页 if(!objPage.IsFirstPage) { //定义“上一页”超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值 InkPrev.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(CurPage-1); } //如果当前页面不是最后一页 if(!objPage.IsLastPage) { //定义“下一页”超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值 InkNext.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(CurPage+1); } //将PagedDataSource作为数据源 Repeater1.DataSource=objPage; //进行数据绑定 Repeater1.DataBind(); } ![]() |





晨星
博客统计信息
热门文章
最新评论
友情链接

