描述C# DataGrid分頁(yè)控件
對(duì)于幾乎所有的數(shù)據(jù)表現(xiàn)Web應(yīng)用來(lái)說(shuō),組織好數(shù)據(jù)的顯示方式、避免給用戶(hù)帶來(lái)混亂的感覺(jué)就是最主要的目標(biāo)之一。每個(gè)頁(yè)面顯示20條記錄當(dāng)然是可以接受的,但每頁(yè)顯示10000條記錄就很容易給用戶(hù)帶來(lái)不便了。將數(shù)據(jù)分成多個(gè)頁(yè)面顯示,即對(duì)數(shù)據(jù)進(jìn)行分頁(yè),是解決此類(lèi)問(wèn)題的最常見(jiàn)的辦法。
C# DataGrid分頁(yè)控件慨述
ASP.NET本身只提供了一個(gè)支持?jǐn)?shù)據(jù)分頁(yè)的控件,即C# DataGrid分頁(yè)控件,不過(guò)它比較適合Intranet環(huán)境使用,對(duì)于Internet環(huán)境來(lái)說(shuō),DataGrid分頁(yè)控件提供的功能似乎不足以構(gòu)造出靈活的Web應(yīng)用。其中一個(gè)原因是C# DataGrid分頁(yè)控件對(duì)Web設(shè)計(jì)者放置分頁(yè)控件的位置和分頁(yè)控件的外觀都有限制,例如,DataGrid控件不允許垂直放置分頁(yè)控件。另一個(gè)能夠發(fā)揮分頁(yè)技術(shù)優(yōu)勢(shì)的控件是Repeater,Web開(kāi)發(fā)者可以利用Repeater控件快速配置數(shù)據(jù)的顯示方式,但分頁(yè)功能卻需要開(kāi)發(fā)者自己實(shí)現(xiàn)。數(shù)據(jù)源在不斷地變化,數(shù)據(jù)表現(xiàn)方式也千差萬(wàn)別,如果針對(duì)這些不斷變動(dòng)的條件分別定制分頁(yè)控件,顯然太浪費(fèi)時(shí)間了,構(gòu)造一個(gè)不限于特定表現(xiàn)控件的通用分頁(yè)控件將極大地有利于節(jié)省時(shí)間。
一個(gè)優(yōu)秀的通用數(shù)據(jù)控件不僅提供常規(guī)的分頁(yè)功能,而且還要能夠:
1.提供“首頁(yè)”、“上一頁(yè)”、“下一頁(yè)”、“末頁(yè)”分頁(yè)導(dǎo)航按鈕。
2.根據(jù)數(shù)據(jù)顯示情況調(diào)整自身的狀態(tài),即具有數(shù)據(jù)敏感性。如果分頁(yè)控件被設(shè)置成每頁(yè)顯示10個(gè)記錄,但實(shí)際上只有9個(gè)記錄,那么分頁(yè)控件不應(yīng)該顯示出來(lái);在數(shù)據(jù)分成多頁(yè)顯示的情況下,***個(gè)頁(yè)面的“首頁(yè)”、“上一頁(yè)”按鈕不應(yīng)顯示出來(lái),***一個(gè)頁(yè)面的“下一頁(yè)”、“末頁(yè)”按鈕也不應(yīng)該顯示出來(lái)。
3.不能依賴(lài)于特定的數(shù)據(jù)顯示控件。
4.具有適應(yīng)各種現(xiàn)有、將有數(shù)據(jù)源的能力。
5.應(yīng)當(dāng)能夠方便地配置顯示方式,輕松地集成到各種應(yīng)用之中。
6.當(dāng)分頁(yè)就緒時(shí),提醒其他控件。
7.即使是缺乏經(jīng)驗(yàn)的Web設(shè)計(jì)者,也要能夠毫無(wú)困難地使用。
8.提供有關(guān)分頁(yè)信息的屬性數(shù)據(jù)。
目前市場(chǎng)上已經(jīng)有一些提供上述功能的商業(yè)性控件,不過(guò)都價(jià)格不菲。對(duì)于許多開(kāi)發(fā)者來(lái)說(shuō),自己構(gòu)造一個(gè)通用的分頁(yè)控件是最理想的選擇。
【編輯推薦】