我用PagedDataSource分页,然后想通过程序自己循环,分别从数据库选定字段取得各页的数据.那么
怎样按照分页后设置分别从DataSet中取得相应的数据呢?-------------------------------------------
我的代码:
DataSet das=this.dbList(sqlR);//从数据库提取到信息
int connt=das.Tables[0].Rows.Count;
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = das.Tables["person"].DefaultView;
objPds.AllowPaging = true;
objPds.PageSize=10;然后怎样 把第1页,第2页,第3页........ 写到数组里.
for (第i页)
{
   string a=new string[100]
   a[]=?//这里该怎样写?
}

解决方案 »

  1.   

    try something like (didn't test)for (int i=0; i < objPds.PageCount; i++)
    {
      //第i+1页
      objPds.CurrentPageIndex = i;
      string a=new string[objPds.Count];
      int j=0;
      foreach (DataRowView drv in objPds)
      {
    a[j] = drv["SomeColumnName"].ToString();
    j++;
      }
    }
      

  2.   

    DataSet das=new DataSet();
    das=ocdb.VegetableList("select * from proVegetable Where green_eatery_id=1"); PagedDataSource objPds = new PagedDataSource();
    objPds.DataSource = das.Tables["person"].DefaultView;
    objPds.AllowPaging = true;
    objPds.PageSize = 4;
    int CurPage;
    if (Request.QueryString["Page"] != null)
    CurPage=Convert.ToInt32(Request.QueryString["Page"]);
    else
    CurPage=1; objPds.CurrentPageIndex = CurPage-1;
    lblCurrentPage.Text = "当前页:" + CurPage.ToString(); if (!objPds.IsFirstPage)
    lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1); if (!objPds.IsLastPage)
    lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page=" + Convert.ToString(CurPage+1);

    Repeater1.DataSource=objPds;
    Repeater1.DataBind();