zoukankan      html  css  js  c++  java
  • 【VB】VB ListView控件转载

    VB中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属性    
                     该属性有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
  • 相关阅读:
    dd是___元素
    【电商8】footer mod_service
    外边距塌陷问题
    隐藏display: ____;
    判断一个32位的整数的二进制有几个1
    8 switch case
    键盘录入
    两个整数的交换
    运算符
    java 异常报错总结
  • 原文地址:https://www.cnblogs.com/cuishao1985/p/1532267.html
Copyright © 2011-2022 走看看