ListView, LINQDataSource samt DataPager - nya kontroller i ASP.NET 3.5 (del 3/3)

I de två första delarna i en serie bloggposter om de nya kontrollerna i ASP.NET 3.5 har jag undersökt den nya layout-funktionaliteten med ListView-kontrollen samt möjligheterna till databindning tillsammans med LINQDataSource-kontrollen. I den här artikeln ska jag gå igenom möjligheterna till uppdelning och stegvis genombläddring av data med DataPager-kontrollen.

DataPager fungerar alltså som ett komplement till ListView-kontrollen när du vill kunna stega dig igenom ett resultatset - som t.ex. kan innehålla rader som hämtats ifrån databasen. Potentiellt sett skulle DataPager kunna användas tillsammans med andra kontroller än ListView, det som krävs är att kontrollen som ska pagineras implementerar ett interface som heter IPageableItemContainer - men i dagsläget är det endast ListView som gör det.

DataPager definieras av ett <DataPager>-element som innehåller attributet PagedControlID som styr vilken kontroll det är som ska pagineras (alltså vilken ListView-kontroll som ska styras) samt PageSize som styr hur många rader som ska visas i varje sida.

Varje DataPager innehåller ett eller flera <Fields> som definierar vad som ska renderas i kontrollen. Det finns tre olika varianter av fields:

  • NextPreviousPagerField - enkel "föregående - nästa"-funktion
  • NumericPagerField - numeriska länkar mellan sidorna
  • TemplatePagerField - möjlighet att skapa helt egna mallar som beskriver utseendet

I den här filmen på MSDN TV går jag igenom grunderna i DataPager-kontrollen.