栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

vb.net listview 删除选定行

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

vb.net listview 删除选定行

学习资源:《Excel VBA从入门到进阶》第59集 by兰色幻想


本节学习Listview控件,它可以用多种视图方式显示项目的控件。由于其外形美观而且非常实用,所以使用频率很高。

Listview控件需要添加到控件工具箱才能插入和使用。

在工具箱,右键附加控件,找到Microsoft ListView Control。如果找不到的话需要到网上下载MSCOMCTL.OCX,同时也要看看自己的office是多少位的,如果是64位的,那就得换成32位的office。

添加之后,我们就可以在工具箱找到listview,点击后把光标移到窗体上就能新建个listview。

Listview有两大部分组成,一部分是列标题Columnheaders,另一部分是项目Listitems。见下图:

ListSubitems可以用来表示除第一列Text之外的其他Subitems的集合。

本篇先写数据导入的方法。

1.设置列标题ColumnHeaders

listitem1.ColumnHeaders.Add 列数,key(一列的唯一标识),标题,宽度,对齐方式,显示的图标

有六个参数:

①列数:要设置第几列

②key(一列的唯一标识):自己设置一个值标记这一列,比如设置一个字母。

③标题:列标题

④宽度:列宽,可以按listview宽度除以列数,比如写为 “ListView1.Width / 3”

⑤对齐方式:有三种,vwcolumncenter居中对齐,lvwcolumnleft左对齐,lvwcolumnright.右对齐

⑥显示的图标:下节课讲。

例:

ListView1.ColumnHeaders.Add 1, "Q", "QQ号", ListView1.Width / 3,lvwcolumnleftter
ListView1.ColumnHeaders.Add 2, "N", "昵称", ListView1.Width / 3, vwcolumncenter
ListView1.ColumnHeaders.Add 3, "D", "地区", ListView1.Width / 3, vwcolumnright

2.控件的显示外观

一般都设置为lvwReport ,设置为报告格式 。

ListView1.View = lvwReport 

3.设置表格线

如果需要表格线把ListView1.Gridlines设置为True(如下),不需要的设置为False。

ListView1.Gridlines = True

4.使用SubItems数组添加数据

添加数据时,首先要添加一ListItems是行对象的集合。

Set ITM = ListView1.ListItems.Add()

然后使用循环,把单元格数值赋值给Subitem。

For i = 2 To [A65536].End(xlUp).Row
    Set ITM = ListView1.ListItems.Add()
    ITM.Text = Cells(i, 1)
    ITM.SubItems(1) = Cells(i, 2)
    ITM.SubItems(2) = Cells(i, 3)
Next i

5. 使用Listsubitems集合添加数据

与SubItems不同,Listsubitems在添加行对象时,直接可以添加一行,然后添加的每一行使用对行对象增加一行的方式进行赋值。

For i = 2 To [A5536].End(xlUp).Row '使用Listsubitems集合添加数据
    Set list = ListView1.ListItems.Add(Text:=Cells(i, 1))'设置行对象list,并增加新的一行
    Set li = list.ListSubItems.Add(Text:=Cells(i, 2))'对对象集合list增加新的一列
    Set li = list.ListSubItems.Add(Text:=Cells(i, 3))'对对象集合list再增加新的一列
 Next i

注意:SubItems和ListSubItems的区别,SubItems是一个string类型的数组,ListSubItems是一个集合。

6.删除行

这里就用到之前设置的key,行标识来标识行。

ListView1.ColumnHeaders.Remove “D” '删除key是D的列。

汇总:

把以下表格的值赋值到listview里显示:

插入控件:

写代码:

Private Sub UserForm_Initialize()

Dim i
Dim ITM As ListItem, list

ListView1.ColumnHeaders.Add 1, "Q", "QQ号", ListView1.Width / 3
ListView1.ColumnHeaders.Add 2, "N", "昵称", ListView1.Width / 3, vwcolumncenter
ListView1.ColumnHeaders.Add 3, "D", "地区", ListView1.Width / 3, vwcolumnright
'listitem1.ColumnHeaders.Add 列数, key(一列的唯一标识). 标题,宽度,对齐方式,显示的图标
'第一列只能左对齐,所以可以不写对齐方式
'columnheaders是标题行
'lvwcolumncenter居中对齐,lvwcolumnleft左对齐,lvwcolumnright.右对齐

ListView1.View = lvwReport 'listview控件的显示外观
ListView1.Gridlines = True '是否有表格线,True有表格线

'使用Listsubitems集合添加数据
For i = 2 To [A5536].End(xlUp).Row 
    Set list = ListView1.ListItems.Add(Text:=Cells(i, 1)) '增加新的一行
    Set li = list.ListSubItems.Add(Text:=Cells(i, 2)) '对对象集合增加新的一列
    Set li = list.ListSubItems.Add(Text:=Cells(i, 3))
 Next i

End Sub

运行结果:


这节课学的特别困难(捂脸

首先遇到的问题是没有课件,为了写笔记只好看着视频抄代码,然后发现没有listview控件,查了很久原因,最后是到学习群问到了解决方法(就是这篇文章开头说的)。然后运行的时候弹出“找不到工程或库",解决方法:在工具-引用,把有”missing”,“丢失”,“找不到“字眼的引用取消勾选。

不过这些都解决啦!

而且我因为会VBA,给面试官留了很深的印象,再一次获得心仪公司的面试机会!多学点总是没有坏处,加油,我一定把这个专栏更完的!

Listview很重要,而内容较多,所以我准备发成几篇发,方便以后查阅。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/954375.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号