各位大哥:请问谁有DataList分页的代码,不用太复杂,有上一页,1234567,下一页这3个就行,急用

解决方案 »

  1.   

    <%@ Import NameSpace="System.Data.OleDb" %> 
      <%@ Import NameSpace="System.Data" %> 
      <HTML> 
       <HEAD> 
       <script language="<a href="http://dev.21tx.com/language/vb/" target="_blank">VB</a>" 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><<</b></a> 
      </td> 
      <td width="6%"> 
       <a href="datalistpaging.aspx#this" ID="hrefPrevious" 
       onserverclick="ShowPrevious" runat="server"> 
       <b><</b></a> 
      </td> 
      <td width="6%"> 
       <a href="datalistpaging.aspx#this" ID="hrefNext" onserverclick="ShowNext" runat="server"> 
       <b>></b></a> 
      </td> 
      <td width="6%"> 
       <a href="datalistpaging.aspx#this" ID="hrefLast" onserverclick="ShowLast" runat="server"> 
       <b>>></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>