1. 引言
在上次任務裡,我們為星級控件增加了數據綁定的特性,但是在實際運用中還 會產生更多的需求,例如用戶可能希望創建一個課程列表(如圖1):
或者在數據項比較多的時候,能夠手動控制數據的排列方式(圖2)
本次任務中,我們將一起開發這樣的控件。
2. 分析
以上兩個圖例中顯示的都是列表控件,在ASP.NET2.0中ListControl類是列表 控件的父類,通過上次任務的分析可以了解CheckBoxList、RadioButtonList和 DropDownList等控件均繼承自ListControl類,這些列表控件都是對於每一個數據 項重復的應用一個樣式,全如CheckBoxList對於每個列表項顯示一個復選框,而 RadioButtonList對於每個列表項顯示一個單元框。實際上,列表控件中的每一個 列表項都是ListItem類型的,而且為了顯示一個列表,列表控件常常擁有每一個 元素都是ListItem類型的集合,也就是我們經常用到的Items屬性,該屬性在 ListControl類上定義,ListControl類還擁有許多其他非常有用的屬性:
屬性 描述 AppendDataBoundItems 獲取或設置一個值,指示是否在綁定數據之前清除列表項 DataTextField 獲取或設置為列表項提供文本內容的數據源字段 DataTextFormatString 獲取或設置格式化字符串,該字符串用來控制如何顯示綁定到列表控 件的數據 DataValueField 獲取或設置為各列表項提供值的數據源字段 SelectedIndex 獲取或設置列表中選定項的最低序號索引 SelectedItem 獲取列表控件中索引最小的選定項 SelectedValue 獲取列表控件中選定項的值,或選擇列表控件中包含指定值的項