2011-08-22 19 views
6

Używam PagedDataSource dla niestandardowego stronicowania gridview. Oto kod:PagedDatasource dla stronicowania gridview

PagedDataSource dataSource = new PagedDataSource(); 

int virtualRowCount = Convert.ToInt32(dataset.Tables[1].Rows[0]["TotalRows"]); 
dataSource.AllowCustomPaging = true; 
dataSource.PageSize = 15; 

dataSource.VirtualCount = virtualRowCount; 
dataSource.DataSource = dataset.Tables[0].DefaultView; 


gvTaxPayerLoginDetail.DataSource = dataSource; 
gvTaxPayerLoginDetail.DataBind(); 

Wracam do „totalrows” z moim procedury przechowywanej (co jest określone w virtualRowCount) oraz rzeczywiste wierszy w tables[0] z zestawu danych. Dostaję wyniki, ale mój pager zniknął. Pager nie jest już wyświetlany. Jak mogę powiedzieć gridview, aby odebrać wartość z PagedDataSource?

Praca z ASP.NET 4

+0

proszę można zaakceptować odpowiedź na to, jak nie sądzę, będziesz zobaczyć wiele movementon to. – bUKaneer

Odpowiedz

3

ASP.NET 2.0+ Wersja

Ten post tutaj http://www.codewrecks.com/blog/index.php/2008/02/09/aspnet-20-gridview-custom-sorting-with-pageddatasource/ rozszerza standardową GridView i zapewnia kod hydrauliką, aby osiągnąć integrację PagedDataSource.

ASP.NET 4.5 Wersja

Ustaw atrybut AllowPaging i AllowCustomPaging na GridView, jak również źródłem danych Paged?

PagedDataSource dataSource = new PagedDataSource(); 

int virtualRowCount = Convert.ToInt32(dataset.Tables[1].Rows[0]["TotalRows"]); 
dataSource.AllowCustomPaging = true; 
dataSource.PageSize = 15; 

dataSource.VirtualCount = virtualRowCount; 
dataSource.DataSource = dataset.Tables[0].DefaultView; 

gvTaxPayerLoginDetail.AllowPaging = true; // See this line here 
gvTaxPayerLoginDetail.AllowCustomPaging = true; // and this line here 
gvTaxPayerLoginDetail.DataSource = dataSource; 
gvTaxPayerLoginDetail.DataBind(); 

Dodatkowo ten post może być również pomocne http://www.byteblocks.com/post/2012/03/20/Use-Custom-Paging-in-Grid-View.aspx

+0

To działa tylko w ASP 4.5 kolega – Jupaol

+0

Przepraszamy za brakujący komentarz na temat wersji szkieletowej! Sądzę jednak, że AllowPaging jest obecny? – bUKaneer

+0

Yeap, to tylko z jakiegoś powodu właściwość VirtualCount jest ignorowana – Jupaol

1
PagedDataSource dataSource = new PagedDataSource(); 

int virtualRowCount = Convert.ToInt32(dataset.Tables[1].Rows[0]["TotalRows"]); 

dataSource.DataSource = dataset.Tables[0].DefaultView; 

dataSource.AllowCustomPaging = true; 
dataSource.PageSize = 15; 
dataSource.VirtualCount = virtualRowCount; 
dataSource.CurrentPageIndex =0; 

gvTaxPayerLoginDetail.DataSource = dataSource; 
gvTaxPayerLoginDetail.AllowPaging=True; 
gvTaxPayerLoginDetail.DataBind();