50分!!就求教一个控件 DataList 怎样用来分页

xierlovexier 2004-11-22 10:54:09
怎么用DATALIST来分页!!!!!!!!!!!!!!!!!!!!!!!
...全文
173 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xierlovexier 2004-11-25
  • 打赏
  • 举报
回复
非常感谢各位的帮助

joeweng 2004-11-23
  • 打赏
  • 举报
回复
用ASPNETPAGER

你可以看一下

http://fc.1m.cn

就是用DATALIST+ASPNETPAGER分页的!
joeweng 2004-11-23
  • 打赏
  • 举报
回复
打错了,应该是

http://fifa.1m.cn
lyfxzzb 2004-11-23
  • 打赏
  • 举报
回复
c#的你参考一下,根据你的实际修改修改。

int PageSize=12,CurrentPage,PageCount,RecordCount;(定义成本页.cs文件的域或属性)

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//得到商品的分类号


//连接语句
string xnxdgpath=HttpContext.Current.Request.ApplicationPath.Substring(1,HttpContext.Current.Request.ApplicationPath.Length-1);
string xnqjpath=HttpContext.Current.Server.MapPath("etaoyuan.mdb");
string MyConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+HttpContext.Current.Server.MapPath("/")+xnxdgpath+"/etaoyuan.mdb";
MyConn = new OleDbConnection(MyConnString);
MyConn.Open();

if(!Page.IsPostBack)
{

CurrentPage = 0;
ViewState["PageIndex"] = 0;
RecordCount=sumcount();
lblRecordCount.Text = RecordCount.ToString();

//计算总共有多少页
if(RecordCount%PageSize==0)
{
PageCount = RecordCount/PageSize;
}
else
{
PageCount = RecordCount/PageSize+1;
}
// PageCount = RecordCount/PageSize;
lblPageCount.Text = PageCount.ToString();
ViewState["PageCount"] = PageCount;
ListBind();



}
}
//计算共有多少记录
public int sumcount()
{
int intCount;
string strCount = "select count(*) as co from ty_mpsearch where spflbh="+id;
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;

}
public void ListBind()
{

int StartIndex;

//设定导入的起终地址
StartIndex = CurrentPage*PageSize;
string strSel = "select * from ty_mpsearch where spflbh="+id;
DataSet ds = new DataSet();

OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strSel,MyConn);
MyAdapter.Fill(ds,StartIndex,PageSize,"Score");


DataList1.DataSource =ds.Tables["Score"].DefaultView;
DataList1.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();
MyConn.Close();

}
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();

}
页面文件部分代码:
<table width="591" height="328" border="0" align="left" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<asp:DataList id="DataList1" runat="server" RepeatColumns="6" Width="100%">
<ItemTemplate>
<table width="80" height="121" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="109"><div align="center"><a href='tymphldetail.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id")%>'><img src='<%# "../"+DataBinder.Eval(Container.DataItem,"picture")%>' width="79" height="102" border="1"></a></div>
</td>
</tr>
<tr>
<td width="85">
</td>
</tr>
<tr>
<td bgcolor="#4b3a74"><div align="center" class="../style2">::<a href="#"><font color="#ffffff"><%# DataBinder.Eval(Container.DataItem,"mpmc")%></font></a>::</div>
</td>
</tr>
<tr>
<td height="33"> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td height="33"> </td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
<tr>
<td align="center"><FONT face="宋体">共有<asp:Label id="lblRecordCount" ForeColor="red" runat="server" />条记录 
当前为<asp:Label id="lblCurrentPage" ForeColor="red" runat="server" />/<asp:Label id="lblPageCount" ForeColor="red" runat="server" />页
</FONT><FONT face="宋体">
<asp:LinkButton id="lbnPrevPage" Text="上一页" CommandName="prev" OnCommand="Page_OnClick" runat="server" /> 
<asp:LinkButton id="lbnNextPage" Text="下一页" CommandName="next" OnCommand="Page_OnClick" runat="server" /> </FONT><FONT face="宋体">   </FONT><FONT face="宋体">   </FONT><FONT face="宋体">
</FONT><FONT face="宋体">   </FONT>
</td>
</tr>
</table>
xierlovexier 2004-11-23
  • 打赏
  • 举报
回复
顶!!!!!!!!!!!!!!!!
急求用C#的解决办法
xierlovexier 2004-11-23
  • 打赏
  • 举报
回复
dzvsyt(一笑天)
请你具体点
谢谢!
Proyang 2004-11-22
  • 打赏
  • 举报
回复
有好多例子。。
http://dotnet.aspx.cc/ 里
ysq0102 2004-11-22
  • 打赏
  • 举报
回复
Private Function DLBindPage()
Dim Ps As New PagedDataSource
Dim lstrsql As String
Dim DT As DataTable
lstrsql = "select * from vw_ess_enterprise_ad t"
DT = DB.getDataTable(lstrsql)
Ps.DataSource = DT.DefaultView
Ps.AllowPaging = True
Ps.PageSize = 80
Dim currentpage As Integer
If Not Request.QueryString("Page") Is Nothing Then
currentpage = Convert.ToInt32(Request.QueryString("Page"))
Else
currentpage = 1
End If
Ps.CurrentPageIndex = currentpage - 1

If Not Ps.IsFirstPage Then
lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(currentpage - 1) + "&p=" + Request("p")
End If

If Not Ps.IsLastPage Then
lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(currentpage + 1) + "&p=" + Request("p")
End If

DataList1.DataSource = Ps
DataList1.DataBind()

End Function
gaoqixiang 2004-11-22
  • 打赏
  • 举报
回复
如果用dataset作为数据源可以直接通过取数据的数量分页。
活靶子哥哥 2004-11-22
  • 打赏
  • 举报
回复
http://www.webdiyer.com
dzvsyt 2004-11-22
  • 打赏
  • 举报
回复
如果用DW里的数据源,它有自动分页功能

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧