vb ListView循环读取
控件:ListView1Text1command1(3个控件)Text1内容如下:张小乐22学生吉林←这是空行阿奇24学生上海←这是空行阿华23←这里也是空行,不过要算字...
控件:ListView1 Text1 command1 (3个控件)
Text1 内容如下:
张小乐
22
学生
吉林
←这是空行
阿奇
24
学生
上海
←这是空行
阿华
23
←这里也是空行,不过要算 字符加载到ListView1中
北京
阿伟
26
经理
天津
..... (更多)
以上字符的规则是,每4行 一组数据,每组数据中间有空行分隔,每组数据中有可能出现某行无字符的可能...所以要考虑的是,分隔格式是每4行一组,不能遇到空格就分隔...因为有用的数据也有可能出现空行...
然后就是操作拉.很简单.按下按钮command1把文本框的内容按照每4行一条数据的格式加载到ListView1中,ListView1列头是:
姓名 年龄 职业 城市
我很需要这个代码,是毕业设计里的内容,我实在弄不会...所以希望知道怎么弄的告诉我...谢谢!!! 展开
Text1 内容如下:
张小乐
22
学生
吉林
←这是空行
阿奇
24
学生
上海
←这是空行
阿华
23
←这里也是空行,不过要算 字符加载到ListView1中
北京
阿伟
26
经理
天津
..... (更多)
以上字符的规则是,每4行 一组数据,每组数据中间有空行分隔,每组数据中有可能出现某行无字符的可能...所以要考虑的是,分隔格式是每4行一组,不能遇到空格就分隔...因为有用的数据也有可能出现空行...
然后就是操作拉.很简单.按下按钮command1把文本框的内容按照每4行一条数据的格式加载到ListView1中,ListView1列头是:
姓名 年龄 职业 城市
我很需要这个代码,是毕业设计里的内容,我实在弄不会...所以希望知道怎么弄的告诉我...谢谢!!! 展开
3个回答
展开全部
先添加引用,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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很复杂。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询