listview控件可有4种不同的视图显示方法.docx

上传人:b****4 文档编号:3517441 上传时间:2022-11-23 格式:DOCX 页数:17 大小:22.56KB
下载 相关 举报
listview控件可有4种不同的视图显示方法.docx_第1页
第1页 / 共17页
listview控件可有4种不同的视图显示方法.docx_第2页
第2页 / 共17页
listview控件可有4种不同的视图显示方法.docx_第3页
第3页 / 共17页
listview控件可有4种不同的视图显示方法.docx_第4页
第4页 / 共17页
listview控件可有4种不同的视图显示方法.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

listview控件可有4种不同的视图显示方法.docx

《listview控件可有4种不同的视图显示方法.docx》由会员分享,可在线阅读,更多相关《listview控件可有4种不同的视图显示方法.docx(17页珍藏版)》请在冰豆网上搜索。

listview控件可有4种不同的视图显示方法.docx

listview控件可有4种不同的视图显示方法

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属性    

                该属性有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    

                &&添加第2,3...列文本    

                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    

      L1.selectedItem.text   &&返回选定行第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    

      L1.listitems.remove(L1.selectedItem.index)    

   

      得知所有行的总数:

    

      L1.listitems.count

一个关于VBlistview控件用法

2008年09月13日星期六下午09:

14

ListView控件比前面几种控件要复杂一些,通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。

ListView控件是由ColumnHeader和ListItem对象所组成的,其中ColumnHeader对象的个数决定了控件的列数,而ListItem对象的个数则决定了控件的行数。

(图7)

ColumnHeader对象是ListView控件中包含标头文字的项目。

利用ColumnHeader对象,用户可以:

▲单击对象触发ColumnClick事件并根据数据项目将项目排序。

▲拖动对象的右边框来调整列宽度。

▲在报表视图中隐藏ColumnHeader对象。

ColumnHeader对象的数目决定每个ListItem对象可包含的子项目数目。

删除ColumnHeader对象后所有与列关联的子项目也将被删除,并且每个ListItem对象的子项目数组将平移以更新ColumnHeader的索引,而这将导致剩余的列标头SubItemIndex属性的改变。

ColumnHeader对象的SubItemIndex属性

该属性返回与ListView控件中ColumnHeader对象关联的子项目的索引。

子项目是字符串数组,代表显示在报表视图中的ListItem对象的数据。

第一列的列标头SubItemIndex属性设置为0,这是因为小图标和ListItem对象的文字总出现在第一列中,而且它们被当作ListItem对象而不是子项目。

列标头数目取决于子项目数目。

列标头数目总是比子项目数目多1。

在设计时可以利用属性页的“列首”选项卡将ColumnHeader对象添加到ListView控件中,在运行时则用Add方法添加。

ColumnHeader对象的Add方法

该方法的使用与前面那些控件基本相似,就不再介绍了。

ListView1.ColumnHeader.Add(index,key,text,width,alignment)

ListItem对象是指控件中的一行(不包含标头行)的所有内容。

它也可包含文本和图片,但是要使用图片则必须通过Icons和SmallIcons属性引用ImageList控件。

ListItem对象的SubItems属性

返回或设置一个字符串(子项目)数组,它代表ListView控件中ListItem对象的数据。

ListItem对象可包含任意多个的关联项目数据字符串(子项目),但每个ListItem对象子项目数目必须相同。

每个子项目都对应于相关的列标头,无法直接向子项目数组添加元素,只有通过ColumnHeaders的Add方法添加列标头的方法来添加子项目。

ListItem对象的Add方法

该方法添加ListItem对象到ListView控件的ListItems集合中并返回对新创建对象的引用。

它的语法如下:

ListItem1.Add(index,key,text,icon,smallIcon)

ListView控件的View属性

ListView控件可使用四种不同视图显示项目,这可以用View属性来确定。

该属性返回或设置ListView控件中ListItem对象的外观。

ListView控件的SortOrder,SortKey和Sorted属性

控件中的ListItem对象可以按要求进行排序,与排序有关的属性是SortOrder,Sorted和SortKey属性。

SortOrder属性返回或设置一个值,此值决定ListView控件中的ListItem对象以升序或降序排序。

SortKey属性返回或设置一个值,此值决定ListView控件中的ListItem对象如何排序。

Sorted属性返回或设置确定ListView控件中的ListItem对象是否排序的值。

下面的代码说明了如何创建ColumnHeaders和ListItem对象,SubItemIndex和SubItem属性的使用方法以及如何排序。

PrivateSubForm_load()

'确保ListView控件的view属性为报表视图。

ListView1.View=lvwReport

'添加三列。

ListView1.ColumnHeaders.Add,"Name","姓名"

ListView1.ColumnHeaders.Add,"Sex","性别"

ListView1.ColumnHeaders.Add,"Age","年龄"

'向控件添加ListItem对象。

DimitmXAsListItem

'添加column1的名称。

SetitmX=ListView1.ListItems.Add(1,"ZL","张力")

'使用SubItemIndex将SubItem与正确的ColumnHeader关联。

使用关键字("Sex")指定正确的ColumnHeader。

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"

'使用ColumnHeader关键字将SubItems字符串与

'正确的ColumnHeader关联。

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="19"

SetitmX=ListView1.ListItems.Add(1,"LF","李芳")

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="22"

SetitmX=ListView1.ListItems.Add(1,"WW","王伟")

itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"

itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="24"

EndSub

PrivateSubListView1_ColumnClick(ByValColumnHeaderAsComctlLib.ColumnHeader)

SelectCaseColumnHeader.Key

Case"Sex":

ListView1.SortKey=1

ListView1.SortOrder=lvwAscending

ListView1.Sorted=True

Case"Age":

ListView1.SortKey=2

ListView1.SortOrder=lvwAscending

ListView1.Sorted=True

EndSelect

EndSub

ListView1.ListItems.Item

(1).SubItems

(1)=Text1

(1).text

式子左边的四个单词是什么意思?

怎么会有三个英文句点?

左边的含义是什么?

Subform_load()

WithLvw

.ListItems.Add,,"asp"

.ListItems.Add,,"html"

.ListItems.Add,,"vbs"

.ListItems.Add,,"css"

EndWith

Dimj%

j=2

Lvw.ListItems(j).Selected=True

EndSub

测试的时候不要在form_load加载listbox增加项目.不然运行的时候会看不出效果。

晕!

Selected是指LisT前面那个小框框(复选框)!

不过好像真的不能自动选择..

因为平时我不怎么用这个东西..

反正Selected=True是不能的!

List.ListItems

(2).Selected=True表示第2行被选择(高亮);

List.ListItems

(2).Checked=True表示在List.Checkboxes为True时第2行前面的小框被钩选。

listview控件可有4种不同的视图显示方法,跟“资源管理器”里的“查看”方式相似:

(1)无图标;

(2)小图标;(3)列表;(4)报表式。

  

     使用哪种视图,可由该控件的view属性设置控制。

  

     其中“报表”视图用来显示记录数据很适合。

  

      

     

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1