2011-08-22 4 views
6

J'utilise PagedDataSource pour la pagination personnalisée de gridview. Voici le code:PagedDatasource pour la pagination 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(); 

Je retourne les « totalRows » de ma procédure stockée (qui est définie dans virtualRowCount) et des lignes réelles tables[0] de données. Je reçois les résultats mais mon pager est parti. Le téléavertisseur n'est plus affiché. Comment puis-je indiquer à gridview de récupérer de la valeur à partir de PagedDataSource?

Travailler avec ASP.Net 4

+0

s'il vous plaît pouvez-vous accepter une réponse à ce que je ne pense pas que vous allez voir beaucoup movementon il. – bUKaneer

Répondre

3

ASP.NET 2.0+ Version

Ce poste ici http://www.codewrecks.com/blog/index.php/2008/02/09/aspnet-20-gridview-custom-sorting-with-pageddatasource/ étend la GridView standard et fournit le code de plomberie pour réaliser l'intégration PagedDataSource.

ASP.NET 4.5 Version

Définissez l'attribut AllowPaging et AllowCustomPaging sur le GridView ainsi que la propriété source de données paginée?

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(); 

De plus, ce poste peut également être utile http://www.byteblocks.com/post/2012/03/20/Use-Custom-Paging-in-Grid-View.aspx

+0

Cela ne fonctionne que dans ASP 4.5 mate – Jupaol

+0

Désolé manqué votre commentaire sur la version du cadre! Je pense que le AllowPaging est présent? – bUKaneer

+0

Yeap, il est mais pour une raison quelconque la propriété VirtualCount est ignorée – 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();