求各位大虾 给一个 vs2003(c#) datalist 分页的代码 
或麻烦将文件发到
多谢各位了~

解决方案 »

  1.   

    //来源于互联网default.aspx文件:
    <%@ Page language="c#" Codebehind="default.aspx.cs" AutoEventWireup="false" Inherits="guestbook._default" %>
    <HTML>
    <HEAD>
    <title>中国BS网留言簿</title>
    <HTML>
    <HEAD>
    <title>DataList分页</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form method="post" action="default.aspx" runat="server" ID="Form1">
    <table width="100%" border="0" cellpadding="2" cellspacing="0" align="center">
    <tr>
    <td align="middle">
    <asp:DataList ID="Myguest" RepeatColumns="1" Runat="server">
    <ItemTemplate>
    <table class="gueststyleline" border="0" cellpadding="0" cellspacing="1" align="center" width="610">
    <tr>
    <td>
    <table class="gueststyleline" border="0" cellpadding="0" cellspacing="1" align="center" width="610">
    <tr>
    <td>
    <table width="100%" border="0" cellpadding="6" cellspacing="0" class="gueststylebg" align="center">
    <tr>
    <td width="112" align="center" height="153" valign="top">
    <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%" class="gueststylebg">
    <tr>
    <td>
    <table border="0" cellspacing="0" cellpadding="0" align="center" height="25">
    <tr>
    <td class="FILTER">
    <div align="center"><font style="LEFT: 0px; WIDTH: 100%; WORD-WRAP: break-word; 130; 0pt"><%# DataBinder.Eval(Container.DataItem,"name") %></font></div>
    </td>
    </tr>
    </table>
    <div align="center"><font style="LEFT: 0px; WIDTH: 100%; WORD-WRAP: break-word; 130; 0pt"><img src="<%# DataBinder.Eval(Container.DataItem,"face") %>" width="80" height="90" align="middle"></font><br>
    <br>

    <%# DataBinder.Eval(Container.DataItem,"sex") %>
    ★</div>
    </td>
    </tr>
    </table>
    </td>
    <td align="center" height="153" width="2">
    <table class="gueststyleline" width="1" height="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="1"></td>
    </tr>
    </table>
    </td>
    <td height="33" valign="top" width="463">
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="gueststylebg" style="TABLE-LAYOUT: fixed" height="20">
    <tr>
    <td height="14" width="310"><img src="images/icon/subject.gif" width="15" height="15" alt="主题">:<%# DataBinder.Eval(Container.DataItem,"caption") %><br>
    </td>
    <td width="151" height="14"><font style="0pt"> &nbsp;<img src="images/icon/posttime.gif" width="16" height="15" alt="发表时间[北京时间]">:<%# DataBinder.Eval(Container.DataItem,"postdate") %></font></td>
    </tr>
    </table>
    <hr class="gueststylehr" size="0.1" width="100%">
    <table width="100%" border="0" cellpadding="5" cellspacing="0" class="gueststylebg" height="45%" style="TABLE-LAYOUT: fixed">
    <tr>
    <td valign="top" width="28" align="center"><img src="images/emot/1.gif" width="16" height="16">
    </td>
    <td valign="top" width="94%" style="LEFT: 0px; WIDTH: 100%; WORD-WRAP: break-word; 130; 0pt">
    <%# DataBinder.Eval(Container.DataItem,"content") %>
    </td>
    </tr>
    </table>
    <table width="100%" border="0" cellpadding="4" cellspacing="0">
    <tr>
    <td valign="top">
    <hr class="gueststylehr" size="0.1" width="100%">
    <a href="<%# DataBinder.Eval(Container.DataItem,"homepage") %>" target="_blank"><img src="images/icon/home.gif" width="44" height="16"  border="0"></a>&nbsp;
    <a href="http://www.chinagz.net/ip/ipsearch.cgi?ip=<%# DataBinder.Eval(Container.DataItem,"ip") %>" target="_blank"><img src="images/icon/ip.gif" align="absmiddle" height="16" border="0"></a>&nbsp;
    <a href="http://search.tencent.com/cgi-bin/friend/user_show_info?ln=<%# DataBinder.Eval(Container.DataItem,"qq") %>" target="_blank">
    <img src="images/icon/qq.gif" border="0" width="35" height="16"></a>&nbsp;
    <a href="mailto:<%# DataBinder.Eval(Container.DataItem,"email") %>"><img src="images/icon/email.gif" width="42" height="16" border="0" alt=""></a>&nbsp;
    <a href="javascript:;" onClick="MM_showHideLayers("admin","","hide","postcontent","","show")">
    <img src="images/icon/postguest.gif" width="45" height="16" border="0"></a>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </ItemTemplate>
    </asp:DataList>
    <BR>
    </td>
    </tr>
    </table>
    <table width="100%" border="0" cellspacing="0" cellpadding="2" align="center" height="9">
    <TBODY>
    <tr>
    <td align="middle">
    <table class="gueststyleline" width="610" border="0" cellpadding="1" cellspacing="0" height="18">
    <tr>
    <td height="24">
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="gueststylebg" height="18">
    <tr>
    <td width="35%" align="middle" height="36">
    共有<asp:Label id="lblRecordCount" ForeColor="red" runat="server" />条记录&nbsp; 当前为<asp:Label id="lblCurrentPage" ForeColor="red" runat="server" />/<asp:Label id="lblPageCount" ForeColor="red" runat="server" />页
    </td>
    <td align="middle" height="36">
    <asp:LinkButton id="lbnPrevPage" Text="上一页" CommandName="prev" runat="server" />
    <asp:LinkButton id="lbnNextPage" Text="下一页" CommandName="next" runat="server" />
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </TBODY>
    </table>
    </form>
    </body>
    </HTML>注意:必须把两个LinkButton控件的Command事件改为Page_OnClick:codebehind文件:
    private void Page_Load(object sender, System.EventArgs e)

    PageSize=1;
    Conn= new SqlConnection(Application["Guest_Conn"].ToString());
    Conn.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 guest";
    SqlCommand MyComm = new SqlCommand (strCount,Conn);
    SqlDataReader 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 guest order by postdate desc";
    DataSet ds = new DataSet();
    SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,Conn);
    MyAdapter.Fill(ds,StartIndex,PageSize,"guest"); 
    return ds.Tables["guest"].DefaultView;
    }public void ListBind()
    {
    Myguest.DataSource = CreateSource();
    Myguest.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(); 
    }
      

  2.   

    sql中分好也可以,传入pageid和条数.
      

  3.   

    sqlserver 2005来做分页非常简单:DECLARE @pagenum AS INT, @pagesize AS INT
    SET @pagenum = 2
    SET @pagesize = 3
    SELECT *
    FROM (SELECT ROW_NUMBER() OVER(ORDER BY score DESC, speaker) AS rownum, 
            speaker, track, score
          FROM SpeakerStats) AS D
    WHERE rownum BETWEEN (@pagenum-1)*@pagesize+1 AND @pagenum*@pagesize
    ORDER BY score DESC, speaker
      

  4.   

    这里有详细的示例及免费分页控件:http://www.webdiyer.com