首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

求个 datalist 分页代码~解决方法

2012-02-16 
求个 datalist 分页代码~求个datalist分页代码~[解决办法]DataList,Repeater分页问题可以采用三种方式解决

求个 datalist 分页代码~
求个   datalist   分页代码~



[解决办法]
DataList,Repeater分页问题可以采用三种方式解决:
1.采用第三方开发的控件如:ASpNetPager,用了感觉效果还不错
2.使用SqlDataAdapter.Fill(DataSet,起始记录位置,最大填充记录数, "表名 ")这个重载函数,好像是这个,有可能我写的有问题,一时记不清楚了
3.或者采用.NET提供的一个支持分页的类 PagedDataSource
下面是一个使用 PagedDataSource 实现对Repeater控件分页的例子

<%@ 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> <asp:HyperLink id= "lnkPrev " runat= "server "> 上一页 </asp:HyperLink>
<asp:HyperLink id= "lnkNext " runat= "server "> 下一页 </asp:HyperLink>
</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>

热点排行