CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

DataList 用什么分页?

楼主islenet(isle)2004-05-03 08:41:31 在 .NET技术 / ASP.NET 提问

很少写web应用程序,以前只用过dataGrid,这次遇到datalist该怎么分页呢? 问题点数:50、回复次数:4Top

1 楼smx717616(又笨又不努力)回复于 2004-05-03 08:45:50 得分 25

你得自己控制  
  datalist没有分页功能。  
  要分页需要自已写。。  
   
  由于DataList不支持内建的分页机制,因此,我们必须使用   SqlDataAdapter对象的Fill方法来实现分页,Fill方法主要用来增加或刷新DataSet的记录行。Fill方法已经被重载,我们这里选用四个参数的那个重载方法:DataSet,   startRecord,   maxRecords   和   TableName。  
   
  <%@   Import   NameSpace="System.Data.OleDb"   %>  
  <%@   Import   NameSpace="System.Data"   %>  
  <HTML>  
      <HEAD>  
          <script   language="vb"   runat="server">  
              Private   Sub   Page_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)  
              If   Not   Page.IsPostBack()   Then  
              intPageSize.Text   =   "2"  
              intCurrIndex.Text   =   "0"  
              DataBind()  
              End   If  
              End   Sub  
   
              Private   Sub   DataBind()  
              Dim   CnString   As   String  
              CnString   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="  
              CnString   =   CnString   +   Server.MapPath("dataDB.mdb"))  
              Dim   objConn   As   New   OleDbConnection(CnString)  
              Dim   objDA   As   New   OleDbDataAdapter("SELECT   *   FROM   Document   ORDER   BY   CreateDate   DESC",   objConn)  
              Dim   objDS   As   New   DataSet()  
   
              If   Not   Page.IsPostBack()   Then  
              objDA.Fill(objDS)  
              intRecordCount.Text   =   CStr(objDS.Tables(0).Rows.Count)  
              objDS   =   Nothing  
              objDS   =   New   DataSet()  
              End   If  
   
              objDA.Fill   (objDS,   CInt(intCurrIndex.Text),   CInt(intPageSize.Text),   "Document")  
   
              dList.DataSource   =   objDS.Tables(0).DefaultView  
              dList.DataBind()  
              objConn.Close()  
              PrintStatus()  
              End   Sub  
   
              Public   Sub   ShowFirst(ByVal   s   As   Object,   ByVal   e   As   EventArgs)  
              intCurrIndex.Text   =   "0"  
              DataBind()  
              End   Sub  
   
   
              Public   Sub   ShowPrevious(ByVal   s   As   Object,   ByVal   e   As   EventArgs)  
              intCurrIndex.Text   =   Cstr(Cint(intCurrIndex.Text)   -   CInt(intPageSize.Text))  
              If   CInt(intCurrIndex.Text)   <   0   Then  
              intCurrIndex.Text   =   "0"  
              End   If  
              DataBind()  
              End   Sub  
   
              Public   Sub   ShowNext(ByVal   s   As   Object,   ByVal   e   As   EventArgs)  
              If   CInt(intCurrIndex.Text)   +   1   <   CInt(intRecordCount.Text)   Then  
              intCurrIndex.Text   =   CStr(CInt(intCurrIndex.Text)   +   CInt(intPageSize.Text))  
              End   If  
              DataBind()  
              End   Sub  
   
              Public   Sub   ShowLast(ByVal   s   As   Object,   ByVal   e   As   EventArgs)  
              Dim   tmpInt   as   Integer  
   
              tmpInt   =   CInt(intRecordCount.Text)   Mod   CInt(intPageSize.Text)  
              If   tmpInt   >   0   Then  
              intCurrIndex.Text   =   Cstr(CInt(intRecordCount.Text)   -   tmpInt)  
              Else  
              intCurrIndex.Text   =   Cstr(CInt(intRecordCount.Text)   -   CInt(intPageSize.Text))  
              End   If  
              DataBind()  
              End   Sub  
   
              Private   Sub   PrintStatus()  
              lblStatus.Text   =   "总记录数:<b>"   &   intRecordCount.Text  
              lblStatus.Text   +=   "</b>   当前:<b>   "  
              lblStatus.Text   +=   CStr(CInt(CInt(intCurrIndex.Text)   /   CInt(intPageSize.Text)+1))  
              lblStatus.Text   +=   "</b>/<b>"  
   
              If   (CInt(intRecordCount.Text)   Mod   CInt(intPageSize.Text))   >   0   Then  
              lblStatus.Text   +=   CStr(CInt(CInt(intRecordCount.Text)   /   CInt(intPageSize.Text)+1))  
              Else  
              lblStatus.Text   +=   CStr(CInt(intRecordCount.Text)   /   CInt(intPageSize.Text))  
              End   If  
              lblStatus.Text   +=   "</b>"  
              End   Sub  
          </script>  
      </HEAD>  
    <body   MS_POSITIONING="GridLayout">  
  <TABLE   height="528"   cellSpacing="0"   cellPadding="0"   width="244"   border="0"  
  ms_2d_layout="TRUE">  
  <TBODY>  
  <TR   vAlign="top">  
  <TD   width="244"   height="528">  
  <form   id="Form1"   method="post"   runat="server">  
  <TABLE   height="227"   cellSpacing="0"   cellPadding="0"   width="516"   border="0"  
  ms_2d_layout="TRUE">  
  <TR   vAlign="top">  
  <TD   width="10"   height="15"></TD>  
  <TD   width="506"></TD>  
  </TR>  
  <TR   vAlign="top">  
  <TD   height="48"></TD>  
  <TD>  
  <h2   align="center"><font   face="verdana">Paging   in   DataList</font></h2>  
  </TD>  
  </TR>  
  <TR   vAlign="top">  
  <TD   height="106"></TD>  
  <TD>  
  <a   name="this"></a>  
  </TD>  
  </TR>  
  <TR   vAlign="top">  
  <TD   height="19"></TD>  
  <TD   rowSpan="2">  
  <table   width="505"   align="right"   height="25">  
  <tr>  
  <td   width="76%"   align="left">  
      <asp:label   ID="lblStatus"   Runat="server"   Font-Name="verdana"   Font-Size="10pt"   />  
  </td>  
  <td   width="6%">  
      <a   href="datalistpaging.aspx#this"   ID="hrefFirst"   onserverclick="ShowFirst"   runat="server">  
          <b>&lt;&lt;</b></a>  
  </td>  
  <td   width="6%">  
      <a   href="datalistpaging.aspx#this"   ID="hrefPrevious"  
      onserverclick="ShowPrevious"   runat="server">  
          <b>&lt;</b></a>  
  </td>  
  <td   width="6%">  
      <a   href="datalistpaging.aspx#this"   ID="hrefNext"   onserverclick="ShowNext"   runat="server">  
          <b>&gt;</b></a>  
  </td>  
  <td   width="6%">  
      <a   href="datalistpaging.aspx#this"   ID="hrefLast"   onserverclick="ShowLast"   runat="server">  
          <b>&gt;&gt;</b></a>  
  </td>  
  </tr>  
  </table>  
  </TD>  
  </TR>  
  <TR   vAlign="top">  
  <TD   height="19"></TD>  
  <TD>  
  <asp:label   ID="intPageSize"   Visible="False"   Runat="server"   /></TD>  
  </TR>  
  <TR   vAlign="top">  
  <TD   height="20"></TD>  
  <TD>  
  <asp:label   ID="intRecordCount"   Visible="False"   Runat="server"   /></TD>  
  </TR>  
  <asp:DataList   ID="dList"   Runat="server"   Width="100%"  
  ItemStyle-BackColor="Beige"   ItemStyle-Font-Name="宋体"  
  BorderWidth="1"   HeaderStyle-Font-Name="Verdana"   EnableViewState="False">  
  <HeaderTemplate>  
  <table   width="100%"   style="font:   10pt   verdana"   cellpadding="0"   cellspacing="0">  
  <tr   style="background-color:FF0000">  
  <th   align="left">  
      <font   color="#FFFFFF">Store   ID</font></th>  
  <th   align="left">  
      <font   color="#FFFFFF">Order   Number</font></th>  
  <th   align="left">  
      <font   color="#FFFFFF">Order   Date</font></th>  
  <th   align="left">  
      <font   color="#FFFFFF">Qty</font></th>  
  <th   align="left">  
      <font   color="#FFFFFF">Title   ID</font></th>  
  </tr>  
  </HeaderTemplate>  
  <ItemTemplate>  
  <tr   style="background-color:#f5f5dc">  
  <td><%#   DataBinder.Eval(Container.DataItem,   "id")   %></td>  
  <td><%#   DataBinder.Eval(Container.DataItem,   "Title")   %></td>  
  <td><%#   DataBinder.Eval(Container.DataItem,   "Author")   %></td>  
  <td><%#   DataBinder.Eval(Container.DataItem,   "Source")   %></td>  
  <td><%#   DataBinder.Eval(Container.DataItem,   "CreateDate")   %></td>  
  </tr>  
  </ItemTemplate>  
  <FooterTemplate>  
  </TABLE>  
  </FooterTemplate>  
  </asp:DataList>  
  <asp:label   ID="intCurrIndex"   Visible="False"   Runat="server"   />  
  </TABLE>  
  </FORM>  
  </TD></TR>  
  </TBODY>  
  </TABLE>  
  </body>  
  </HTML>  
  我是看别人的呀,你看看Top

2 楼hnahzx(点内特)回复于 2004-05-03 09:07:11 得分 25

http://www.csdn.net/develop/article/21/21521.shtmTop

3 楼smx717616(又笨又不努力)回复于 2004-05-03 09:12:49 得分 0

还没结贴呀?Top

4 楼anjan(沙漠中的草)回复于 2004-08-04 16:07:12 得分 0

aaaTop

相关问题

  • 100分求datalist分页,用vb.net写的。
  • 用AspNetPager怎么实现DataList分页的。
  • datalist分页问题
  • 请教大家asp.net里面的分页用什么?分页控件还是自定义分页类?
  • 请问哪位有用DATALIST分页的实例,是VB.NET写的。
  • 用户控件内的DataList分页,该如何实现?
  • ASP.NET 2.0 怎么用C#给datalist进行分页???
  • DATALIST如何实现分页?
  • 关于DataList分页问题
  • datalist分页没有反应

关键词

  • datalist
  • order

得分解答快速导航

  • 帖主:islenet
  • smx717616
  • hnahzx

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo