Repeater控件分页的例子

王朝asp·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

Repeater和DataList控件提供了一个快速、灵活的表现数据的方式,但是,它们没有内建的分页功能;DataGrid控件提供了内建的分页功能,但它的结构比较复杂。下面就用PagedDataSource类实现Repeater和DataList的分页。 PagedDataSource封装了DataGrid的分页属性,我们可以象DataGrid那样进行分页。代码如下:

 

<%@ Page Language="C#" %>

<%@ import namespace="System.Data" %>

<%@ import namespace="System.Data.OleDb" %>

<script language="C#" runat="server">

public void Page_Load(Object src,EventArgs e) {

OleDbConnection objConn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" +

Server.MapPath("../aspxWeb.mdb"));

OleDbDataAdapter objCommand=new OleDbDataAdapter("select * from Document",objConn);

DataSet ds=new DataSet();

objCommand.Fill(ds);

PagedDataSource objPds = new PagedDataSource();

objPds.DataSource = ds.Tables[0].DefaultView;

objPds.AllowPaging = true;

objPds.PageSize = 5;

int CurPage;

if (Request.QueryString["Page"] != null)

CurPage=Convert.ToInt32(Request.QueryString["Page"]);

else

CurPage=1;

objPds.CurrentPageIndex = CurPage-1;

lblCurrentPage.Text = "当前页:" + CurPage.ToString();

if (!objPds.IsFirstPage)

lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1);

if (!objPds.IsLastPage)

lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" + Convert.ToString(CurPage+1);

Repeater1.DataSource=objPds;

Repeater1.DataBind();

}

</script>

<html>

<head>

<title>Repeater控件分页的例子</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<style>

P,TD,DIV,SPAN {font-size:9pt}

</style>

</head>

<body>

<form name="form1" method="POST" runat="server">

<div style="padding:5px;background-color:#dedede">

<asp:label ID="lblCurrentPage" runat="server"></asp:label></td>

<td>&nbsp;<asp:HyperLink id="lnkPrev" runat="server">上一页</asp:HyperLink>

<asp:HyperLink id="lnkNext" runat="server">下一页</asp:HyperLink>&nbsp;

</div>

<hr size="1" color="#000099"/>

<asp:Repeater ID="Repeater1" runat="server">

<Itemtemplate>

<div style="padding:5px;background-color:#dedede">

<%# DataBinder.Eval(Container.DataItem, "Title") %>

</div>

</Itemtemplate>

</asp:Repeater>

</form>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航