datalist如何实现分页? 自己做一个就是了,不就是点击后重新绑定DATASOURCE的某一些特定行啊,不过要注意弄清CURRENTPAGEINDEX,PAGECOUNT,PAGESIZE这三者之间的关系就行了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不能直接分页不过可以分段读取数据库里的数据http://www.google.com/search?q=DataList+%E5%88%86%E9%A1%B5&ie=UTF-8&oe=UTF-8&hl=zh-CN&lr= <% @ Page Language="C#" %> <% @ Import Namespace="System.Data" %> <% @ Import Namespace="System.Data.OleDb" %> <Script Language="C#" Runat="Server"> /* Create By 飞刀 http://www.aspcn.com 2001-7-25 01:44 Support .Net Framework Beta 2 */ OleDbConnection MyConn; int PageSize,RecordCount,PageCount,CurrentPage; public void Page_Load(Object src,EventArgs e) { //设定PageSize PageSize = 10; //连接语句 string MyConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(".")+"..\\DataBase\\db1.mdb;"; MyConn = new OleDbConnection(MyConnString); MyConn.Open(); //第一次请求执行 if(!Page.IsPostBack) { ListBind(); CurrentPage = 0; ViewState["PageIndex"] = 0; //计算总共有多少记录 RecordCount = CalculateRecord(); lblRecordCount.Text = RecordCount.ToString(); //计算总共有多少页 PageCount = RecordCount/PageSize; lblPageCount.Text = PageCount.ToString(); ViewState["PageCount"] = PageCount; } } //计算总共有多少条记录 public int CalculateRecord() { int intCount; string strCount = "select count(*) as co from Score"; OleDbCommand MyComm = new OleDbCommand(strCount,MyConn); OleDbDataReader dr = MyComm.ExecuteReader(); if(dr.Read()) { intCount = Int32.Parse(dr["co"].ToString()); } else { intCount = 0; } dr.Close(); return intCount; } ICollection CreateSource() { int StartIndex; //设定导入的起终地址 StartIndex = CurrentPage*PageSize; string strSel = "select * from Score"; DataSet ds = new DataSet(); OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strSel,MyConn); MyAdapter.Fill(ds,StartIndex,PageSize,"Score"); return ds.Tables["Score"].DefaultView; } public void ListBind() { score.DataSource = CreateSource(); score.DataBind(); lbnNextPage.Enabled = true; lbnPrevPage.Enabled = true; if(CurrentPage==(PageCount-1)) lbnNextPage.Enabled = false; if(CurrentPage==0) lbnPrevPage.Enabled = false; lblCurrentPage.Text = (CurrentPage+1).ToString(); } public void Page_OnClick(Object sender,CommandEventArgs e) { CurrentPage = (int)ViewState["PageIndex"]; PageCount = (int)ViewState["PageCount"]; string cmd = e.CommandName; //判断cmd,以判定翻页方向 switch(cmd) { case "next": if(CurrentPage<(PageCount-1)) CurrentPage++; break; case "prev": if(CurrentPage>0) CurrentPage--; break; } ViewState["PageIndex"] = CurrentPage; ListBind(); } </script> <html> <head> <title></title> </head> <body> <form runat="server"> 共有<asp:Label id="lblRecordCount" ForeColor="red" runat="server" />条记录 当前为<asp:Label id="lblCurrentPage"ForeColor="red" runat="server" />/<asp:Label id="lblPageCount" ForeColor="red" runat="server" />页 <asp:DataList id="score" runat="server" HeaderStyle-BackColor="#aaaadd" AlternatingItemStyle-BackColor="Gainsboro" EditItemStyle-BackColor="yellow" > <ItemTemplate> 姓名:<%# DataBinder.Eval(Container.DataItem,"Name") %> <asp:LinkButton id="btnSelect" Text="编辑" CommandName="edit" runat="server" /> </ItemTemplate> </asp:DataList> <asp:LinkButton id="lbnPrevPage" Text="上一页" CommandName="prev" OnCommand="Page_OnClick" runat="server" /> <asp:LinkButton id="lbnNextPage" Text="下一页" CommandName="next" OnCommand="Page_OnClick" runat="server" /> </form> </body> </html> csdn上面的文档有个例子.....好像是久违的飞刀大哥写的..... 求一SQL语句 谢谢 JQ 中从本地图片上传到服务器怎么写 关于SqlDataAdaper,DataSet取数据,进来帮忙看看,谢谢! 怎样用VS2010中的团队工具 使用TreeView控件偶尔报错“‘Microsoft.Web.UI.WebControls’无法加载”怎么解决? 为什么我用htmlarea编辑器写到数据库的内容读出来后把html原码照常读出来了? ===========高分求解,高手来啊。。。 .asp页面问题 一个数据转换问题(C#) 怎样在ASP中直接发送E-mail???? 我想请教大家一个关于刷新的问题! 如何强制用户进入登录页面进行身份识别
不过可以分段读取数据库里的数据http://www.google.com/search?q=DataList+%E5%88%86%E9%A1%B5&ie=UTF-8&oe=UTF-8&hl=zh-CN&lr=
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.OleDb" %>
<Script Language="C#" Runat="Server">
/*
Create By 飞刀
http://www.aspcn.com
2001-7-25 01:44
Support .Net Framework Beta 2
*/
OleDbConnection MyConn;
int PageSize,RecordCount,PageCount,CurrentPage;
public void Page_Load(Object src,EventArgs e)
{
//设定PageSize
PageSize = 10;
//连接语句
string MyConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(".")+"..\\DataBase\\db1.mdb;";
MyConn = new OleDbConnection(MyConnString);
MyConn.Open();
//第一次请求执行
if(!Page.IsPostBack)
{
ListBind();
CurrentPage = 0;
ViewState["PageIndex"] = 0;
//计算总共有多少记录
RecordCount = CalculateRecord();
lblRecordCount.Text = RecordCount.ToString();
//计算总共有多少页
PageCount = RecordCount/PageSize;
lblPageCount.Text = PageCount.ToString();
ViewState["PageCount"] = PageCount;
}
}
//计算总共有多少条记录
public int CalculateRecord()
{
int intCount;
string strCount = "select count(*) as co from Score";
OleDbCommand MyComm = new OleDbCommand(strCount,MyConn);
OleDbDataReader dr = MyComm.ExecuteReader();
if(dr.Read())
{
intCount = Int32.Parse(dr["co"].ToString());
}
else
{
intCount = 0;
}
dr.Close();
return intCount;
}
ICollection CreateSource()
{
int StartIndex;
//设定导入的起终地址
StartIndex = CurrentPage*PageSize;
string strSel = "select * from Score";
DataSet ds = new DataSet();
OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strSel,MyConn);
MyAdapter.Fill(ds,StartIndex,PageSize,"Score");
return ds.Tables["Score"].DefaultView;
}
public void ListBind()
{
score.DataSource = CreateSource();
score.DataBind();
lbnNextPage.Enabled = true;
lbnPrevPage.Enabled = true;
if(CurrentPage==(PageCount-1)) lbnNextPage.Enabled = false;
if(CurrentPage==0) lbnPrevPage.Enabled = false;
lblCurrentPage.Text = (CurrentPage+1).ToString();
}
public void Page_OnClick(Object sender,CommandEventArgs e)
{
CurrentPage = (int)ViewState["PageIndex"];
PageCount = (int)ViewState["PageCount"];
string cmd = e.CommandName;
//判断cmd,以判定翻页方向
switch(cmd)
{
case "next":
if(CurrentPage<(PageCount-1)) CurrentPage++;
break;
case "prev":
if(CurrentPage>0) CurrentPage--;
break;
}
ViewState["PageIndex"] = CurrentPage;
ListBind();
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<form runat="server">
共有<asp:Label id="lblRecordCount" ForeColor="red" runat="server" />条记录
当前为<asp:Label id="lblCurrentPage"ForeColor="red" runat="server" />/<asp:Label id="lblPageCount" ForeColor="red" runat="server" />页
<asp:DataList id="score" runat="server"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="Gainsboro"
EditItemStyle-BackColor="yellow"
>
<ItemTemplate>
姓名:<%# DataBinder.Eval(Container.DataItem,"Name") %>
<asp:LinkButton id="btnSelect" Text="编辑" CommandName="edit" runat="server" />
</ItemTemplate>
</asp:DataList>
<asp:LinkButton id="lbnPrevPage" Text="上一页" CommandName="prev" OnCommand="Page_OnClick" runat="server" />
<asp:LinkButton id="lbnNextPage" Text="下一页" CommandName="next" OnCommand="Page_OnClick" runat="server" />
</form>
</body>
</html>