Public Sub RecordSetToListView(RSName As ADODB.Recordset, LName As ListView) '指定的 On Error Resume Next Dim i As Integer Dim j As Integer Dim k As Integer LName.Sorted = False RSName.MoveFirst For i = 1 To RSName.RecordCount LName.ListItems.Add , , RSName.Fields(0).Value For j = 1 To RSName.Fields.Count - 1 If IsNull(RSName.Fields(j).Value) Then LName.ListItems(i).SubItems(j) = "" Else LName.ListItems(i).SubItems(j) = RSName.Fields(j).Value End If Next j RSName.MoveNext Next i LName.Refresh End Sub
不一定要绑定我就想让表中的数据象在DataGrid中显示的那样在ListView中显示出来
Public Sub RecordSetToLVHeader(RSName As ADODB.Recordset, LName As ListView) '从记录集到列表头 On Error Resume Next Dim i As Integer LName.ColumnHeaders.Clear RSName.MoveFirst For i = 0 To RSName.Fields.Count - 1 LName.ColumnHeaders.Add , , RSName.Fields(i).Name Next i End Sub
Private Sub List_Init() ListView1.ColumnHeaders.Add 1, , "人员名称", 160 End Sub'填充List的条目 Private Sub List_Input() Dim i As Integer Dim phsbz As String With RS_temp If .State = adStateOpen Then .Close End If .ActiveConnection = adoCN .CursorLocation = adUseClient .CursorType = adOpenForwardOnly .LockType = adLockReadOnly .Source = "select staffname from users " .Open 'List_Clear If .BOF = False And .EOF = False Then '有记录 i = 1 Do While .EOF = False ListView1.ListItems.Add , , .Fields("staffname").Value i = i + 1 .MoveNext Loop End If End With End Sub
所以我想用ListView
有人知道怎么用吗
(象DataGrid那样)
怎样才能让表中的数据在ListView中显示呢?(象DataGrid那样)
lvw.listitem.subitem(i)=rs.field1.value
On Error Resume Next
Dim i As Integer
Dim j As Integer
Dim k As Integer
LName.Sorted = False
RSName.MoveFirst
For i = 1 To RSName.RecordCount
LName.ListItems.Add , , RSName.Fields(0).Value
For j = 1 To RSName.Fields.Count - 1
If IsNull(RSName.Fields(j).Value) Then
LName.ListItems(i).SubItems(j) = ""
Else
LName.ListItems(i).SubItems(j) = RSName.Fields(j).Value
End If
Next j
RSName.MoveNext
Next i
LName.Refresh
End Sub
On Error Resume Next
Dim i As Integer
LName.ColumnHeaders.Clear
RSName.MoveFirst
For i = 0 To RSName.Fields.Count - 1
LName.ColumnHeaders.Add , , RSName.Fields(i).Name
Next i
End Sub
ListView1.ColumnHeaders.Add 1, , "人员名称", 160
End Sub'填充List的条目
Private Sub List_Input()
Dim i As Integer
Dim phsbz As String
With RS_temp
If .State = adStateOpen Then
.Close
End If
.ActiveConnection = adoCN
.CursorLocation = adUseClient
.CursorType = adOpenForwardOnly
.LockType = adLockReadOnly
.Source = "select staffname from users "
.Open
'List_Clear
If .BOF = False And .EOF = False Then
'有记录
i = 1
Do While .EOF = False
ListView1.ListItems.Add , , .Fields("staffname").Value
i = i + 1
.MoveNext
Loop
End If
End With
End Sub
这句报错啊