listview控件各种属性详细介绍
listview控件可有4种不同的视图显示方法,跟“资源管理器”里的“查看”方式相似:
(1)无图标;(2)小图标;(3)列表;(4)报表式。
使用哪种视图,可由该控件的view属性设置控制。其中“报表”视图用来显示记录数据很适合。
listview控件包括listItem对象和ColumnHeader对象。
本人简单理解为:listItem对象看成数据行;ColumnHeader对象看成列标题。
listItem对象(行)有两部分:一部分是图标和简要描述的文本(第1列);另一部分是前者的子项文本信息(第2列,第3列......)。
而listItems即是对listItem对象集合(所有行)的引用。
故此,listItems(1)  可以表示为第1行;
listitems(1).text  返回第1行第1列的文本值;
listitems(1).subItem(1)  返回第1行第2列的文本值。
【控件常用属性】
[1]view属性
listview控件在哪里该属性有4个值可设定:
1---小图标视图显示
2---列表
3---报表
0---无图标(默认)
[2]AllowColumnReorder属性
值设置.t.时,用户可以用鼠标选中1列拖至其他地方进行重新排列。
[3]Checkboxes属性
设置为.t.时,每一行数据前将显示一复选框。
[4]FlatScrollBar属性
设置为.f.时控件将显示滚动条。
[5]FullRowSelect属性
设置为.t.时可以整行地选择数据。
[6]GridLines属性
设置为.t.时控件将显示网格线。(只作用于“报表”视图)
[7]HideColumnHeaders属性
设置为.f.时,列标题可视,反之则不可视。
[8]HotTracking属性
设置为.t.时,鼠标所在行将以高亮度显示。
[9]Icons,SmallIcons属性
两者设置listview控件视图相关联的ImageList控件中的图片。
Icons指明视图为大图标时的关联;
SmallIcons指明视图为小图标时的关联。
[10]LabelWrap属性
设置为.t.时,文本标签超出列宽时可换行。
[11]SelectedItem属性
返回对所选ListItem对象(行)的引用。
[12]Sorted属性
当值为.t.时,列表按字母排序。按照一定的顺序排列
[13]Picture属性
指定控件的背景图片,此属性在控件自带属性设置框里设置。
*****************************************************************
【控件常用方法程序】
[1]Add方法
添加listItem对象(行)到控件中。
语法格式:
控件ListItems集合.add(index,key,text,icon,smallIcon)
[2]FindItem方法
查并返回对控件中listItem对象的引用。
语法格式:
控件名.FindItem(string,value,index,match)
******************************************************************
新建一表单,在表单里拖出一个ListView控件和一个ImageList控件。
选中ListView控件,单击右键,选择“ListViewCtrl Properties”,在General页面框中选中下列复选框:
LabelWrap:文本可换行
Checkboxes:显示复选框
FullRowSelect:整行选定
清除FlatScrollBar的选定,控件将显示滚动条。
**************************************************************
控件  name属性
ListView  view1
ImageList  Image1
***************************************************************
在表单的Init事件中加入下列代码:
&&&&将ImageList控件图片赋予Listview控件&&&&
thisform.view1.Icons=thisform.Image1.object
thisform.view1.smallIcons=thisform.Image1.object
****************************************************************
在listview控件init事件中加入下列代码:
&&&初始化ListView控件&&&&
&&设置显示为报表视图
this.view=3
&&添加和设置列标
store  this.ColumnHeaders.Add(,"l11","序号",this.Width/7)  to  clm1
store  this.ColumnHeaders.Add(,"l12","物资编号",this.width/4)  to  clm2  store  this.ColumnHeaders.Add(,"l13","存货名称",this.Width/4)  to  clm3  store  this.ColumnHeaders.Add(,"l14","规格",this.width/4)  to  clm4
store  this.ColumnHeaders.Add(,"l15","计量单位",this.Width/8)  to  clm5  store  this.ColumnHeaders.Add(,"l16","请购数量",this.width/4)  to  clm6  store  this.ColumnHeaders.Add(,"l17","使用日期",this.Width/4)  to  clm7  store  this.ColumnHeaders.Add(,"l18","请购用途",this.width/4)  to  clm8  this.hottracking=.t.    &&鼠标停留行高亮度显示
******************************************************************  将数据表添加到listview控件中显示:
新建一表单方法程序refresh_grid,可随时调用刷新数据。
在其中加入下列代码:
L1=thisform.view1
L1.listItems.clear  &&清除数据
sele  请购表
scan
&&添加listItem对象第1列图标和文本。
store  L1.listItems.Add(,,序号,,1)  to  bbb
&&添加第列文本
store  alltrim(物资编号)  to  bbb.subitems(1)
store  alltrim(存货名称)  to  bbb.subitems(2)
store  alltrim(规格)  to  bbb.subitems(3)
store  alltrim(计量单位)  to  bbb.subitems(4)
store  请购数量to  bbb.subitems(5)
store  使用日期to  bbb.subitems(6)
store  alltrim(请购用途)  to  bbb.subitems(7)  endscan
注:若字段值为.null.时,添加时将出现错误提示。
请自行设置用函数加以判别。为.null.时可以空值添加。 ************************************************
如何返回选定值:
L1=thisform.view1
  &&返回选定行第1列文本值
L1.selectedItem.index  &&返回选定行的位置
L1.listItems(x).subItems(y)  &&返回第x行,第y+1列文本值
*****
如何用用命令设置复选框状态:
thisform.view1.listItems(x).checked=.t.
&&第x行复选框选定
******************************************
选定复选框时发生的事件itemcheck:
LPARAMETERS  item
if  item.checked=.t.&&判定当复选框选中要执行的语句
else
要执行的语句
endif
&&清除所有数据
thisform.view1.listItems.clear
&&清除选定行
L1=thisform.view1
ve(L1.selectedItem.index)
得知所有行的总数:
unt

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。