小弟新手,想实现DataGrid分页的功能,希望各位老大帮帮忙,答案越详细越直接越好,最好是个自定义控件。

解决方案 »

  1.   

    GridView可以吗?AllowPage=true;就可以了。
      

  2.   

    如果使用DataGrid的默认分页功能,貌似就两行代码    protected void dd_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
        {
            DataGrid1.CurrentPageIndex = e.NewPageIndex;
            //重新绑定DataGrid
        }
      

  3.   

    前台代码<html>
    <body>
    <asp:DataGrid
    id="dgrdMain"
    cellpadding="1"
    showheader="true"
    borderwidth="0"
    allowpaging="true"  启用分页功能
    pagesize="10"  每一页显示十条记录
    onpageindexchanged="dgrdMain_pageindexchanged "  调用第×页的函数为dgrdMain_PageIndexChanged()
    runat="server"
    />
    </body>
    </html>后台代码void Page_Load()
    {
    string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
    strConnection+=Server.MapPath("guestbook.mdb");
    OleDbConnection objConnection=new OleDbConnection(strConnection);
    OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection);
    DataSet objDataSet=new DataSet();
    objDataAdapter.Fill(objDataSet);
    dgrdMain.DataSource=objDataSet;
    dgrdMain.DataBind();
    }
    void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e)
    {
    dgrdMain.CurrentPageIndex = e.NewPageIndex;
    DataBind();
    }
      

  4.   

    参考,
    Asp.net中DataGrid控件的自定义分页
    http://blog.csdn.net/zhzuo/archive/2004/10/28/156647.aspx
    动态加载Asp.net分页控件
    http://blog.csdn.net/zhzuo/archive/2004/11/30/199065.aspx
      

  5.   

    3楼的改一下!
    public partial class df_paper : System.Web.UI.Page
    {
       string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
        OleDbConnection objConnection=new OleDbConnection(strConnection);
       protected void Page_Load(object sender, EventArgs e)
        {
    objConnection.Open();
    databind();
    }
    private void databind()
    {
    OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection);
    DataSet objDataSet=new DataSet();
    objDataAdapter.Fill(objDataSet);
    dgrdMain.DataSource=objDataSet;
    dgrdMain.DataBind();
    objConnection.Close();
    }
    void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e)
    {
    dgrdMain.CurrentPageIndex = e.NewPageIndex;
    databind();
    }
    应该可以了把!!