2010-10-05 8 views
2

Je récupère des données à partir de la base de données SQL. Je veux diviser les enregistrements et les lier dans trois grilles différentes. Tout fonctionne bien avant d'appliquer la pagination. Je reçois La source de données ne prend pas en charge la pagination de données côté serveur. erreurPaging Gridview en utilisant linq dans asp.net

code:

DataTable StoreDisplayTypeList = storeDisplayBL.GetStoreDisplayDetails(); 

     var specialBook = from myRow in StoreDisplayTypeList.AsEnumerable() where (string)myRow["StoreDisplayType"] == "Special Book" select myRow; 
     var newRelease = from myRow in StoreDisplayTypeList.AsEnumerable() where (string)myRow["StoreDisplayType"] == "New Release" select myRow; 
     var Seller = from myRow in StoreDisplayTypeList.AsEnumerable() where (string)myRow["StoreDisplayType"] == "Best Seller" select myRow; 
     var featuredEdition = from myRow in StoreDisplayTypeList.AsEnumerable() where (string)myRow["StoreDisplayType"] == "Featured Edition" select myRow;   

     this.gvBestSeller.DataSource = Seller; 
     this.gvBestSeller.DataBind(); // Error 

     this.gvNewRelease.DataSource = newRelease; 
     this.gvNewRelease.DataBind(); // Error 

     this.gvSpecialBook.DataSource = specialBook; 
     this.gvSpecialBook.DataBind(); // Error 

     this.gvFeaturedREdition.DataSource = featuredEdition; 
     this.gvFeaturedREdition.DataBind(); // Error 

Répondre

2

C'est parce que vous utilisez vars. Vous devez utiliser un objet fortement typé tel qu'une liste <>.

public class Book 
{ 
    public string _StoreDisplayType { get; set; } 
    public string _title { get; set; } 
} 

var specialBook = from myRow in StoreDisplayTypeList.AsEnumerable() 
        where (string)myRow["StoreDisplayType"] == "Special Book" 
        select new Book{ 
         _StoreDisplayType = myRow["StoreDisplayType"].ToString(), 
         _title = myRow["Title"].ToString() 
        };  

this.gvSpecialBook.DataSource = specialBook.ToList(); 
this.gvSpecialBook.DataBind(); 
+1

Vous avez raison, mais juste une précision - var est fortement typé, par l'ERS - auquel cas .AsEnumerable revenait un jeu de résultats IEnumerable (qui nest pas concret bien sûr). – RPM1984

+0

Bon point, Jezza! Merci –

Questions connexes