vb ListView循环读取

控件:ListView1Text1command1(3个控件)Text1内容如下:张小乐22学生吉林←这是空行阿奇24学生上海←这是空行阿华23←这里也是空行,不过要算字... 控件:ListView1 Text1 command1 (3个控件)

Text1 内容如下:
张小乐
22
学生
吉林
←这是空行
阿奇
24
学生
上海
←这是空行
阿华
23
←这里也是空行,不过要算 字符加载到ListView1中
北京

阿伟
26
经理
天津
..... (更多)

以上字符的规则是,每4行 一组数据,每组数据中间有空行分隔,每组数据中有可能出现某行无字符的可能...所以要考虑的是,分隔格式是每4行一组,不能遇到空格就分隔...因为有用的数据也有可能出现空行...

然后就是操作拉.很简单.按下按钮command1把文本框的内容按照每4行一条数据的格式加载到ListView1中,ListView1列头是:

姓名 年龄 职业 城市

我很需要这个代码,是毕业设计里的内容,我实在弄不会...所以希望知道怎么弄的告诉我...谢谢!!!
展开
 我来答
抗双路才捷
2019-03-12 · TA获得超过4049个赞
知道大有可为答主
回答量:3209
采纳率:28%
帮助的人:237万
展开全部
先添加引用,Microsoft
Scripting
Runtime
Public
Sub
LVrefresh(Optional
ByVal
StandardType
As
Boolean)
Dim
intRow
As
Integer,
strTemp
As
String
Dim
fileNo
As
Integer,
fileName
As
String
Dim
Fp
As
New
FileSystemObject
Dim
strTs
As
TextStream
Dim
ListItemTemp
As
ListItem
On
Error
Resume
Next
fileNo
=
FreeFile
With
ListView1
.ColumnHeaders.Clear
.ListItems.Clear
.ColumnHeaders.Add
,
,
"姓名"
.ColumnHeaders(1).Width
=
1200
.ColumnHeaders.Add
,
,
"年龄"
.ColumnHeaders(2).Width
=
900
.ColumnHeaders.Add
,
,
"职位"
.ColumnHeaders(3).Width
=
2000
.ColumnHeaders.Add
,
,
"联系电话"
.ColumnHeaders(4).Alignment
=
lvwColumnLeft
.ColumnHeaders(4).Width
=
2000
intRow
=
1
fileName
=
IIf(Left(App.Path,
1)
=
"\",
App.Path
&
"1.txt",
App.Path
&
"\1.txt")
Set
strTs
=
Fp.OpenTextFile(fileName)
strTemp
=
strTs.ReadLine
Do
While
Err.Number
=
0
If
intRow
=
1
Then
Set
ListItemTemp
=
.ListItems.Add(,
,
strTemp)
Else
ListItemTemp.SubItems(intRow
-
1)
=
strTemp
End
If
If
intRow
=
4
Then
intRow
=
1
Else
intRow
=
intRow
+
1
End
If
strTemp
=
strTs.ReadLine
Loop
End
With
End
Sub
Private
Sub
Command1_Click()
LVrefresh
End
Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
binuisoft
2009-03-10 · TA获得超过1449个赞
知道小有建树答主
回答量:385
采纳率:0%
帮助的人:421万
展开全部
Public Sub LVrefresh(Optional ByVal StandardType As Boolean)
Dim strTemp As String, i As Integer, intRow As Integer

Dim strArray() As String, ListItemTemp As ListItem

strArray = Split(Text1.Text, vbCrLf)

With ListView1
.ColumnHeaders.Clear
.ListItems.Clear

.ColumnHeaders.Add , , "姓名"
.ColumnHeaders(1).Width = 1200
.ColumnHeaders.Add , , "年龄"
.ColumnHeaders(2).Width = 900
.ColumnHeaders.Add , , "职位"
.ColumnHeaders(3).Width = 2000
.ColumnHeaders.Add , , "联系电话"
.ColumnHeaders(4).Alignment = lvwColumnLeft
.ColumnHeaders(4).Width = 2000

intRow = 1
For i = LBound(strArray) To UBound(strArray)
If intRow = 1 Then
Set ListItemTemp = .ListItems.Add(, , strArray(i))
ElseIf intRow = 5 Then

Else
ListItemTemp.SubItems(intRow - 1) = strArray(i)
End If

If intRow = 5 Then
intRow = 1
Else
intRow = intRow + 1
End If
Next
End With
End Sub

Private Sub Command1_Click()
LVrefresh
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
litter_fox
2009-03-10 · TA获得超过734个赞
知道小有建树答主
回答量:1201
采纳率:50%
帮助的人:358万
展开全部
很复杂。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式