注意:由于其他供求信息子頁(yè)實(shí)現(xiàn)方法與本頁(yè)完全相同,本章只講解招聘信息頁(yè)。
1.6.2 網(wǎng)站招聘信息頁(yè)技術(shù)分析
為了滿足招聘信息特殊格式的顯示,DataList數(shù)據(jù)表格控件具有自定義布局顯示方式,但其不具備GridView數(shù)據(jù)表格控件靈活的分頁(yè)功能,而是需要程序開發(fā)人員使用PagedDataSource 類來完成分頁(yè)功能。技術(shù)的詳細(xì)實(shí)現(xiàn)介紹如下:
1.DataList控件的使用
DataList Web服務(wù)器控件通過自定義的格式顯示數(shù)據(jù)庫(kù)行的信息。顯示數(shù)據(jù)的格式在創(chuàng)建的模板中定義,可以為項(xiàng)、交替項(xiàng)、選定項(xiàng)和編輯項(xiàng)創(chuàng)建模板;標(biāo)頭、腳注和分隔符模板也用于自定義 DataList 的整體外觀。
開發(fā)用到的DataList控件屬性及說明如表1.8所示。
2.PagedDataSource類的使用
PagedDataSource類封裝那些允許數(shù)據(jù)表格控件(如DataList控件)執(zhí)行分頁(yè)操作的屬性。如果控件開發(fā)人員需對(duì)自定義數(shù)據(jù)綁定控件提供分頁(yè)支持,即可使用此類。
開發(fā)用到的PagedDataSource類的屬性及說明如表1.9所示。
3.DataList控件的分頁(yè)實(shí)現(xiàn)
根據(jù)上面的介紹讀者已經(jīng)對(duì)DataList控件和PagedDataSource類有了一定的認(rèn)識(shí),接下來給出DataList控件實(shí)現(xiàn)分頁(yè)功能的關(guān)鍵代碼。代碼如下:
public PagedDataSource PageDataListBind(string infoType, string infoKey, int currentPage,int PageSize)
{
PagedDataSource pds = new PagedDataSource();
pds.DataSource = SelectInfo(infoType, infoKey).Tables[0].DefaultView; //將查詢結(jié)果綁定到分頁(yè)數(shù)據(jù)源上
pds.AllowPaging = true; //允許分頁(yè)
pds.PageSize = PageSize; //設(shè)置每頁(yè)顯示的頁(yè)數(shù)
pds.CurrentPageIndex = currentPage - 1; //設(shè)置當(dāng)前頁(yè)
return pds;
}
分頁(yè)代碼完成后,需要綁定DataList控件。代碼如下:
dlFree.DataSource = pds; //綁定數(shù)據(jù)源
dlFree.DataKeyField = "id";
dlFree.DataBind();
上面只給出分頁(yè)功能的關(guān)鍵設(shè)置。關(guān)于DataList控件的翻頁(yè)設(shè)置,可參見1.6.3節(jié)。