一、定义:
表示Windows列表视图控件,一般用来呈现数据,是一种轻量级的呈现数据的方法。
二、重要的属性:
1、第一个非常重要的属性是View:获取或设置项在控件中的显示方式,包括Details、LargeIcon、List、SmallIcon、Tile(默认为 LargeIcon)
(1)LargeIcon:每个项都显示为一个最大化图标,在它的下面有一个标签;
(2)SmallIcon:每个项都显示为一个小图标,在它的右边带一个标签;
(3)List:每个项都显示为一个小图标,在它的右边带一个标签。各项排列在列中,没有列标头;
(4)Details:可以显示任意的列,但只有第一列可以包含一个小图标和标签,其它的列项只能显示文字信息,有列表头;
(5)Tile:每个项都显示为一个完整大小的图标,在它的右边带项标签和子项信息。(只有Windows XP 和 Windows Server 2003 系列支持)
与之相关的属性有:
LargeImageList:大图标集。提示:只在LargeIcon视图使用。
SmallImageList:小图标集。提示:只有在SmallIcon视图使用。
2、第二个比较重要的属性是HeaderStyle:获取或设置列标头样式,有三种样式供选择:
Clickable:列标头的作用类似于按钮,单击时可以执行操作(例如排序);
NonClickable:列标头不响应鼠标单击;
None:不显示列标头。
当HeaderStyle的样式为Clickable时,就必须和ColumnClick配合使用,即当用户在列表视图控件中单击列标头时发生;
用户在点击表头时一般用于排序,所以,与之相关的属性有:
Soritng:对列表视图的项进行排序。(默认为None)
Ascending:项按递增顺序排序。
Descending:项按递减顺序排序。
None:项未排序。
3、第三个比较重要的属性是CheckBoxes:设置控件中各项的旁边是否显示复选框(默认为False),当CheckBoxes为True时,便可以使用CheckedItems来获取控件中当前复选框选中的项;
4、第四个比较重要的属性是LabelEdit:设置用户是否可以编辑控件中项的标签,对于Detail视图,只能编辑行第一列的内容(默认为false);
5、其他比较重要的属性有:
(1)FullRowSelect:设置是否行选择模式。(默认为false) 提示:只有在Details视图该属性才有意义。
(2) GridLines:设置行和列之间是否显示网格线。(默认为false)提示:只有在Details视图该属性才有意义。
(3)AllowColumnReorder:设置是否可拖动列标头来对改变列的顺序。(默认为false)提示:只有在Details视图该属性才有意义。
(4)MultiSelect:设置是否可以选择多个项。(默认为false)
(5)SelectedItems:获取在控件中选定的项。
三、重要的方法:
ListView控件比较重要的方法有两个:
· ListView.BeginUpdate(); //数据更新,UI暂时挂起,直到EndUpdate绘制控件,可以有效避免闪烁并大大提高加载速度
· ListView.EndUpdate(); //结束数据处理,UI界面一次性绘制。
四、呈现数据:
ListView控件呈现数据的来源有两种:第一种,手动添加数据;第二种,从数据库中自动获取。
第一种,手动添加数据:
手动添加数据也有两种方式,第一种是通过代码添加,第二种是通过操作控件的形式添加。当然,第二种比较简单,首先看第二种通过操作控件的形式添加:
在弹出的窗口中,点击“添加”按钮之后,会出现”columnHeader1”的项,这是ListView控件中的列标题,此时,可以修改列标题的“Text”属性:
最后效果如下图所示:
注意,有时候,列标题出不来的,检查一下HeaderStyle是否设置为Clickable,以及View是否设置为Details;
点击”编辑项“,在出现的窗口中点击“添加(A)”,此时,会出现“ListViewItem”,需要明白ListViewItem是ListView控件中的项,即ListView中有很多的ListViewItem项:
在“属性”栏里编辑“SubItems”选项:
点击“添加”后,在“成员”组栏里,会出现“ListViewSubItem”,不难发现,ListViewItem与ListViewSubItem的关系。此时,编辑“Text”属性,最后效果图如下:
通过代码添加时,代码如下: