1.GridView控件GridView控件用于顯示表中的數(shù)據(jù)。通過(guò)使用GridView控件,您可以顯示、編輯、刪除、排序和翻閱多種不同的數(shù)據(jù)源(包括數(shù)據(jù)庫(kù)、XML文件和公開數(shù)據(jù)的業(yè)務(wù)對(duì)象)中的表格數(shù)據(jù)。顯示表格數(shù)據(jù)是軟件開發(fā)中的一個(gè)周期性任務(wù)。
ASP.NET
提供了許多工具來(lái)在網(wǎng)格中顯示表格數(shù)據(jù),例如GridView控件。通過(guò)使用GridView控件,可以顯示、編輯和刪除多種不同的數(shù)據(jù)源(例如數(shù)據(jù)庫(kù)、XML文件和公開數(shù)據(jù)的業(yè)務(wù)對(duì)象)中的數(shù)據(jù)。可以使用GridView來(lái)完成以下操作:通過(guò)數(shù)據(jù)源控件自動(dòng)綁定和顯示數(shù)據(jù)。通過(guò)數(shù)據(jù)源控件對(duì)數(shù)據(jù)進(jìn)行選擇、排序、分頁(yè)、編輯和刪除。另外,還可以通過(guò)以下方式自定義GridView控件的外觀和行為:指定自定義列和樣式。利用模板創(chuàng)建自定義用戶界面(UI)元素。通過(guò)處理事件將自己的代碼添加到GridView控件的功能中。1.1使用GridView控件進(jìn)行數(shù)據(jù)綁定GridView控件提供了兩個(gè)用于綁定到數(shù)據(jù)的選項(xiàng):使用DataSourceID屬性進(jìn)行數(shù)據(jù)綁定,此選項(xiàng)讓能夠?qū)ridView控件綁定到數(shù)據(jù)源控件。建議使用此方法,因?yàn)樗试SGridView控件利用數(shù)據(jù)源控件的功能并提供了內(nèi)置的排序、分頁(yè)和更新功能。使用DataSource屬性進(jìn)行數(shù)據(jù)綁定,此選項(xiàng)使能夠綁定到包括ADO.NET
數(shù)據(jù)集和數(shù)據(jù)讀取器在內(nèi)的各種對(duì)象。此方法需要為所有附加功能(如排序、分頁(yè)和更新)編寫代碼。當(dāng)使用DataSourceID屬性綁定到數(shù)據(jù)源時(shí),GridView控件支持雙向數(shù)據(jù)綁定。除可以使該控件顯示返回的數(shù)據(jù)之外,還可以使它自動(dòng)支持對(duì)綁定數(shù)據(jù)的更新和刪除操作。1.2在GridView控件中設(shè)置數(shù)據(jù)顯示格式可以指定GridView控件的行的布局、顏色、字體和對(duì)齊方式。可以指定行中包含的文本和數(shù)據(jù)的顯示。另外,可以指定將數(shù)據(jù)行顯示為項(xiàng)目、交替項(xiàng)、選擇的項(xiàng)還是編輯模式項(xiàng)。GridView控件還允許指定列的格式。1.3使用GridView控件編輯和刪除數(shù)據(jù)默認(rèn)情況下,GridView控件在只讀模式下顯示數(shù)據(jù)。但是,該控件還支持一種編輯模式,在該模式下控件顯示一個(gè)包含可編輯控件(如TextBox或CheckBox控件)的行。您還可以對(duì)GridView控件進(jìn)行配置以顯示一個(gè)Delete按鈕,用戶可單擊該按鈕來(lái)刪除數(shù)據(jù)源中相應(yīng)的記錄。GridView控件可對(duì)其關(guān)聯(lián)數(shù)據(jù)源自動(dòng)執(zhí)行編輯和刪除操作,使無(wú)需編寫代碼即可啟用編輯行為。或者,也可以以編程方式控制編輯和刪除數(shù)據(jù)的過(guò)程(如在GridView控件綁定到只讀數(shù)據(jù)源控件的情況下)。可以使用模板對(duì)當(dāng)某個(gè)行處于編輯模式時(shí)使用的輸入控件進(jìn)行自定義。1.4GridView排序功能GridView控件支持在不需要任何編程的情況下通過(guò)單個(gè)列排序。通過(guò)使用排序事件以及提供排序表達(dá)式,您可以進(jìn)一步自定義GridView控件的排序功能。1.5GridView分頁(yè)功能GridView控件提供一種簡(jiǎn)單的分頁(yè)功能。可以通過(guò)使用GridView控件的PagerTemplate屬性來(lái)自定義GridView控件的分頁(yè)功能。適用場(chǎng)景GridView控件一般適用于以表的形式顯示規(guī)則的二維關(guān)系數(shù)據(jù)。例如用于顯示站點(diǎn)下所有用戶的列表。2.DataList控件DataListWeb服務(wù)器控件以可自定義的格式顯示數(shù)據(jù)庫(kù)行的信息。顯示數(shù)據(jù)的格式在創(chuàng)建的模板中定義。可以為項(xiàng)、交替項(xiàng)、選定項(xiàng)和編輯項(xiàng)創(chuàng)建模板。標(biāo)頭、腳注和分隔符模板也用于自定義DataList的整體外觀。通過(guò)在模板中包括Web服務(wù)器控件,可將列表項(xiàng)連接到代碼,這些代碼使用戶得以在顯示、選擇和編輯模式之間進(jìn)行切換。DataList與GridView不同,必須通過(guò)自定義的template來(lái)顯示數(shù)據(jù)項(xiàng)。DataList與GridView相比不支持排序,分頁(yè)功能。適用場(chǎng)景DataList一般適用于顯示“單列多行”關(guān)系的數(shù)據(jù),例如用于顯示產(chǎn)品列表,每一個(gè)ListItem顯示一件產(chǎn)品的信息,你可以為L(zhǎng)istItem定義自己需要的格式。3.Repeater控件RepeaterWeb服務(wù)器控件是一個(gè)容器控件,它使可以從頁(yè)的任何可用數(shù)據(jù)中創(chuàng)建出自定義列表。Repeater控件不具備內(nèi)置的呈現(xiàn)功能,這表示用戶必須通過(guò)創(chuàng)建模板為Repeater控件提供布局。當(dāng)該頁(yè)運(yùn)行時(shí),Repeater控件依次通過(guò)數(shù)據(jù)源中的記錄,并為每個(gè)記錄呈現(xiàn)一個(gè)項(xiàng)。Repeater控件與上述2個(gè)控件相比顯得最為單薄,Repeater一般用于只讀的數(shù)據(jù),對(duì)數(shù)據(jù)呈現(xiàn)的列表不具備編輯,排序,分頁(yè)等功能。適用場(chǎng)景功能非常單薄,它使用數(shù)據(jù)源返回的一組記錄呈現(xiàn)只讀列表。4.DetailsView
控件DetailsView控件一次呈現(xiàn)一條表格形式的記錄,并提供翻閱多條記錄以及插入、更新和刪除記錄的功能。DetailsView控件通常用在主/詳細(xì)信息方案中,在這種方案中,主控件(如GridView控件)中的所選記錄決定了DetailsView控件顯示的記錄。5.FormView
控件FormView控件與DetailsView控件類似,它一次呈現(xiàn)數(shù)據(jù)源中的一條記錄,并提供翻閱多條記錄以及插入、更新和刪除記錄的功能。不過(guò),F(xiàn)ormView控件與DetailsView控件之間的差別在于:DetailsView控件使用基于表格的布局,在這種布局中,數(shù)據(jù)記錄的每個(gè)字段都顯示為控件中的一行。而FormView控件則不指定用于顯示記錄的預(yù)定義布局。實(shí)際上,將創(chuàng)建包含控件的模板,以顯示記錄中的各個(gè)字段。該模板包含用于設(shè)置窗體布局的格式、控件和綁定表達(dá)式。