ASP.NET自定义控件 第七天 开发具有丰富特性的列表控件2011-09-02 博客园 holywolf1. 引言在上次任务里,我们为星级控件增加了数据绑定的特性,但是在实际运用中还 会产生更多的需求,例如用户可能希望创建一个课程列表(如图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 | 获取列表控件中选定项的值,或选择列表控件中包含指定值的项 |