| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 518 人关注过本帖
标题:[求助]listview问题!
只看楼主 加入收藏
圣域无敌
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-3-26
收藏
 问题点数:0 回复次数:5 
[求助]listview问题!
Dim i As Integer, j As Integer
Dim lvWidth As Integer
lvWidth = ListView1.Width

'初始化LISTVIEW的某些属性
ListView1.View = lvwReport
ListView1.GridLines = True
ListView1.FullRowSelect = True

ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear

For i = 1 To 2 '初始化列内容,列宽
Set ColumnHeader = ListView1.ColumnHeaders.Add
ColumnHeader.Text = RsAddPOI.Fields(i).Name
ColumnHeader.Width = lvWidth / 2
Next

For j = 1 To RsAddPOI.RecordCount - 1
If RsAddPOI.EOF Then Exit For
Set ListItem = ListView1.ListItems.Add
ListItem.Text = RsAddPOI.Fields(1).Value
For i = 1 To 2
ListItem.SubItems(i) = RsAddPOI.Fields(i).Value ‘这里说无效的属性值
Next
RsAddPOI.MoveNext
Next
数据库里2个字段分别是IDNUM和NAME,有20多条记录,我想把纪录都显示在LISTVIEW里!
搜索更多相关主题的帖子: listview 
2007-05-02 10:11
圣域无敌
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-3-26
收藏
得分:0 
For j = 1 To RsAddPOI.RecordCount - 1
If RsAddPOI.EOF Then Exit For
' Set ListItem = ListView1.ListItems.Add
' ListItems.Text = RsAddPOI.Fields(1).Value
Set ListItem = ListView1.ListItems.Add
ListItem.Text = RsAddPOI.Fields(2).Value 显示第3个字段的内容
'For i = 1 To 2
' ListItem.SubItems(i) = RsAddPOI.Fields(i).Value
'ListItem.SubItems(i + 1) = RsAddPOI.Fields(i).Value
' Next
RsAddPOI.MoveNext

Next
改成这样了,但是只能显示一个字段的内容!
2007-05-02 11:44
圣域无敌
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-3-26
收藏
得分:0 
有人能帮我下吗?
2007-05-02 20:50
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 

这是我自己作的一个填充ListView控件的过程:
Private Sub Refresh_LW(Rs As ADODB.Recordset)
Dim i As Integer
Dim L As ListItem

On Error GoTo ProcError
Screen.MousePointer = 11

With LW
.ColumnHeaders.Clear
.ListItems.Clear
For i = 0 To Rs.Fields.Count - 1
.ColumnHeaders.Add i + 1, , Rs.Fields(i).Name
Select Case i
Case 0
.ColumnHeaders(i + 1).Width = 800
Case 1
.ColumnHeaders(i + 1).Width = 2000

Case 2
.ColumnHeaders(i + 1).Width = 1500

Case 3
.ColumnHeaders(i + 1).Width = 4000

Case 4
.ColumnHeaders(i + 1).Width = 1400

Case Else
.ColumnHeaders(i + 1).Width = 2000

End Select
Next

If Rs.RecordCount <= 0 Then
.ListItems.Clear
GoTo ProcExit
End If

Do Until Rs.EOF
i = 0
Set L = .ListItems.Add(, , Rs.Fields(i) & "")
i = i + 1
Do Until i >= Rs.Fields.Count
If IsNull(Rs.Fields(i)) Then
L.SubItems(i) = ""

Else
L.SubItems(i) = Trim$(Rs.Fields(i)) & ""

End If
i = i + 1
Loop
Rs.MoveNext
Loop
End With

BandingText True
Me.Timer1.Interval = 1000
LW_ItemCheck LW.ListItems(1)
Refresh_Lbl Rs.RecordCount, Rs.AbsolutePosition

ProcExit:
If Rs Is Nothing Then
BandingText False
Me.Timer1.Interval = 0
Refresh_Lbl 0, 0
End If
CmdButton
Screen.MousePointer = 0
Exit Sub

ProcError:
Screen.MousePointer = 0
BandingText False
Me.Timer1.Interval = 0
Refresh_Lbl 0, 0
MsgBox "错误号:" & Err.Number & vbCrLf & Err.Description & "!", 48, "刷新显示错误提示"
Resume ProcExit
End Sub


2007-05-02 22:42
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
其中,lw就是ListView,其它过程,你可以删除掉。

2007-05-02 22:44
圣域无敌
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2007-3-26
收藏
得分:0 
有些不是很明白啊,能QQ教下我吗?
我要在放假5号前个简单的程序啊!
MY QQ:198832372

[此贴子已经被作者于2007-5-2 23:28:20编辑过]

2007-05-02 23:27
快速回复:[求助]listview问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015255 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved