ASP.NET GridView Paging mit Linq-Abfrage als Datenquelle
Ich suche nach einer Möglichkeit, mit einer GridView ein Paging durchzuführen, wenn ich die Datenquelle zur Laufzeit mithilfe einer Linq-Abfrage einstelle. hier ist mein code:
ETDataContext etdc = new ETDataContext();
var accts = from a in etdc.ACCOUNTs
orderby a.account_id
select new
{
Account = a.account_id,
aType = a.SERVICEs.FirstOrDefault().SERVICE_TYPE.service_type_desc,
name = a.SERVICEs.FirstOrDefault().service_name,
Letter_dt = a.create_dt,
PrimAccthldr = a.PEOPLE.first_name + " " + a.PEOPLE.middle_name + " " + a.PEOPLE.last_name
};
GridView1.DataSource = accts;
GridView1.BindData();
Ich habe das Raster so eingestellt, dass Seitenwechsel zugelassen werden, aber es wird eine Fehlermeldung angezeigt, dass das PageIndexChanging-Ereignis nicht behandelt wurde. Ich habe mich umgesehen und folgendes gefunden:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
Aber das funktioniert gut, wenn du eine datatable verwendest, aber nicht mit linq. Wenn ich im Ereignis eine Neu-Bindung hinzufüge, muss es 7000 Datensätze neu anfordern, was etwas langsam sein kann. Weiß jemand, wie man das Paging bei Verwendung von Linq wie folgt behebt?