Posted on 2005-11-19 11:00
canonical 閱讀(259)
評(píng)論(0) 編輯 收藏 所屬分類(lèi):
Witrix開(kāi)發(fā)平臺(tái)
分頁(yè)的功能由兩部分組成:取數(shù)據(jù)和計(jì)算分頁(yè)。其中取數(shù)據(jù)的功能由IPageViewer接口實(shí)現(xiàn)
interface IPageViewer{
int getTotalCount();
List getAll();
int listPage(int startPos, int maxCount);
}
Pager是用戶(hù)調(diào)用時(shí)的接口
class Pager{
public List getAll(){}
public List listPage(){}
public int getPageCount(){}
public int getPageSize(){}
public int getCurrentPage(){}
...
}
Pager使用IPageViewer作為數(shù)據(jù)供體,自身僅提供分頁(yè)計(jì)算的功能。在witrix平臺(tái)中, IPageViewer是表格數(shù)據(jù)的標(biāo)準(zhǔn)列舉方式,因?yàn)榕cList接口相比,IPageViewer容許部分加載。
IPageViewer
可以有多種實(shí)現(xiàn),如ListPageViewer, XmlPageViewer, ExcelPageViewer,
DbTablePageViewer等。一般情況下Pager提供的功能已經(jīng)足夠了,特殊情況下可以通過(guò)繼承來(lái)擴(kuò)展。例如卡片瀏覽和分頁(yè)瀏覽模式之間的互
相切換通過(guò)派生類(lèi)ItemPager來(lái)實(shí)現(xiàn)。