我用的是DataGrid控件,怎么分页呀?

解决方案 »

  1.   

    在不考虑任何方案情况下,可以使用:
    1、
    第一页:ArtDGrid.CurrentPageIndex = 0;
    上一页:if(ArtDGrid.CurrentPageIndex > 0)
               ArtDGrid.CurrentPageIndex -= 1;
    下一页:if(ArtDGrid.CurrentPageIndex < (ArtDGrid.PageCount - 1))
      ArtDGrid.CurrentPageIndex += 1;
    最后一页:ArtDGrid.CurrentPageIndex = (ArtDGrid.PageCount - 1);
    2、
    如考虑到访问速度,.......之类的话,可以使用
    DbDataAdapter.Fill(所要填充数据集的名称,页面显示的第一条数据,最大的记录数,数据表名称);
    3、
    可以使用多重嵌套的sql语句来完成,这个的数据访问速度比较快!GoodLuck !
      

  2.   

    string strconn="server=local;database=test;uid=sa;password=;";
    SqlConnection myconn=new SqlConnection(strconn);
    DataSet DS=new DataSet();
    SqlDataAdapter myadap=new SqlDataAdapter("select * from message",strconn);
    myadap.Fill(DS,"message");
                DataGrid1.DataSource=DS.Tables["message"].DefaultView;
    DataGrid1.DataBind();
    public void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
     DataGrid1.CurrentPageIndex=e.NewPageIndex;
    DataGrid1.DataBind();
    }在html里面的DataGrid1代码中加上onPageIndexChanged="PageIndexChanged"
      

  3.   

    写一个得到数据绑定到DatGrid的方法
    public void BindData()
    {
    ……一些取数据的操作,并填充到数据集
    DatGrid1.DataSource=ds.Table[0];
    DataGrid1.DataBind();
    }
    然后在
    public void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
     DataGrid1.CurrentPageIndex=e.NewPageIndex;
    BindData();//调用上面的方法
    }