我用联表查询,返回的是DataSet ,
 
 而我分页里写的方法,是要传入表名、主键...
 
  、我在页 调 那个分页方法,可是我传的ds,
     
    不对,         那要怎么做啊,       是写一个传入ds的分页方法,       还是写 一个 联表返回DataTable 的方法,也不行啊,没有表名。?????              各位, 帮帮忙!

解决方案 »

  1.   

    把dataset中数据用list存起来
    使用PagedDataSouse类分页
      

  2.   

    你的分页方法的表名取值为dataset.Tables[0]就行了
      

  3.   


    public void Page_Load(Object src,EventArgs e) 

    //对PagedDataSource 对象的相关属性赋值 
    PagedDataSource objPds = new PagedDataSource(); 
    objPds.DataSource = ds.Tables[0].DefaultView; 
    objPds.AllowPaging = true; 
    objPds.PageSize = 5; 
    int CurPage; //当前页面从Page查询参数获取 
    if (Request.QueryString["Page"] != null) 
    CurPage=Convert.ToInt32(Request.QueryString["Page"]); 
    else 
    CurPage=1; objPds.CurrentPageIndex = CurPage-1; 
    lblCurrentPage.Text = "Page: " + 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); //把PagedDataSource 对象赋给Repeater控件 
    Repeater1.DataSource=objPds; 
    Repeater1.DataBind(); 
    } 这样搞过,点下一页没反应!
      

  4.   

    你是用lnkPrev和lnkNext来进行翻页的么 
    那么给这两个加点击事件就好了啊private int Peger
    {
        get
        {
            return (int)ViewState["page"];
        }
        set
        {
            ViewState["page"]=value;
        }
    }if(!IsPostBack)
    {
        ViewState["page"]=0;
        BangDing();
    }privat void BangDing()
    {
        PagedDataSource objPds = new PagedDataSource(); 
        objPds.DataSource = ds.Tables[0].DefaultView; 
        objPds.AllowPaging = true; 
        objPds.PageSize = 5; 
        objPds.CurrentPageIndex=Pager;
        Repeater1.DataSource=objPds; 
        Repeater1.DataBind(); 
    }lnkPrev和lnkNext 点击事件分别是
    {
       Page--;
       BangDing()
    }{
       Page++;
       BangDing()
    }
      

  5.   

    用分頁的存儲過程講所有的數據查出放到臨時表中,在根據傳進的 pagesize 和pageindex 來從臨時表中取出相應的數據返回
      

  6.   

    如果两个表的结构是一样的~~那么就将两个DATATABLE里的数据合到一个里面,然后传参的时候就传那个DATATABLE