2011-08-19 79 views
1

大家好我有一个页面,需要从一个SQL数据源的项目,并把它们放入一个中继器。我想知道如何改变pagedDatasource的页面索引当我点击另一个按钮更改pageDataSource页面

页面加载

DataSourceSelectArguments arg = new DataSourceSelectArguments(); 

    arg.MaximumRows = 8; 
    arg.AddSupportedCapabilities(DataSourceCapabilities.Page); 



    DataView set = (DataView)SQLDataSourceProducts.Select(arg); 
    int rows = arg.TotalRowCount; 
    PagedDataSource paged = new PagedDataSource(); 
    paged.DataSource = set; 
    paged.AllowPaging = true; 
    paged.PageSize = 3; 
    int pageIndex = 1; 
    paged.CurrentPageIndex = pageIndex - 1; 

    RepeaterProducts.DataSource = paged; 
    RepeaterProducts.DataBind(); 

上的按钮按下

protected void moreButton_Click(object sender, EventArgs e) 
{ 
    //Change the pageIndex 

} 

感谢所有

回答

1

大家好找到了答案,这就是我对任何想要知道的人做的事

public void popRepeater() 
{ 
    //Clear datasource so you can repopulate without getting duplication error 
    SQLDataSourceProducts.SelectParameters.Clear(); 

    //Your query 
    SQLDataSourceProducts.SelectParameters.Add 


    DataSourceSelectArguments arg = new DataSourceSelectArguments(); 

    arg.MaximumRows = 8; 
    arg.AddSupportedCapabilities(DataSourceCapabilities.Page); 



    DataView set = (DataView)SQLDataSourceProducts.Select(arg); 
    int rows = arg.TotalRowCount; 
    PagedDataSource paged = new PagedDataSource(); 

    paged.DataSource = set; 
    paged.AllowPaging = true; 
    paged.PageSize = 3; 
    //int pageIndex = 1; 
    paged.CurrentPageIndex = CurrentPage ; 

    RepeaterProducts.DataSource = paged; 
    RepeaterProducts.DataBind(); 
} 

public int CurrentPage 
{ 
    get 
    { 
     // look for current page in ViewState 
     object o = this.ViewState["_CurrentPage"]; 
     if (o == null) 
      return 0; // default page index of 0 
     else 
      return (int)o; 
    } 

    set 
    { 
     this.ViewState["_CurrentPage"] = value; 
    } 
} 

protected void moreButton_Click(object sender, EventArgs e) 
{ 

    CurrentPage += 1; 
    popRepeater(); 

}