初学Vb 对 ListView 控件不是很熟悉.但还必须得用到它.有几个问题希望能多帮帮忙.谢谢!
做了一个多客户端聊天程序.服务器在数据到达后这样处理了.
Private Sub WinsockSRV_DataArrival(index As Integer, ByVal bytesTotal As Long)
Dim RIp As String
Dim RPort As Integer
RIp = WinsockSRV(index).RemoteHostIP
RPort = WinsockSRV(index).RemotePort
List1.AddItem " Host Name " & RIp & RPort & index '添加一条新项
List1.ItemData(List1.NewIndex) = index '设置新添加项的ItemData值
End Sub'在WinsockSRV的Close事件中
Private Sub WinsockSRV_Close(index As Integer)
Dim i As Integer
Dim LC As Integer
LC = List1.ListCount
For i = 0 To LC - 1
If List1.ItemData(i) = index Then
WinsockSRV(index).Close '相应的 SCK 关闭
List1.RemoveItem i
Exit For
End If
Next
End Sub
'在List的Click事件中
Private Sub List1_Click()
Dim GLI As Integer
GLI = List1.ItemData(List1.ListIndex)
MsgBox "你所选定项的ItemData是:" & GLI
End Sub
--------------------------------------
问题:
1.如果要用Listview控件添加的话.如何去写? 相关的 ItemData 如何去设置?
2.其次就是如何从Listview中很多项中删除某一项.其它的项ItemData不因删除某一项而发生改变.
3.假设有5项内容. 如何修改该项的某子项内容呢?
其实就是如何把上面的List代码变成Listview代码.
List控件添加使用List1.additem , 而Listview我则不会用.就是这个意思..
求例子谢谢.
做了一个多客户端聊天程序.服务器在数据到达后这样处理了.
Private Sub WinsockSRV_DataArrival(index As Integer, ByVal bytesTotal As Long)
Dim RIp As String
Dim RPort As Integer
RIp = WinsockSRV(index).RemoteHostIP
RPort = WinsockSRV(index).RemotePort
List1.AddItem " Host Name " & RIp & RPort & index '添加一条新项
List1.ItemData(List1.NewIndex) = index '设置新添加项的ItemData值
End Sub'在WinsockSRV的Close事件中
Private Sub WinsockSRV_Close(index As Integer)
Dim i As Integer
Dim LC As Integer
LC = List1.ListCount
For i = 0 To LC - 1
If List1.ItemData(i) = index Then
WinsockSRV(index).Close '相应的 SCK 关闭
List1.RemoveItem i
Exit For
End If
Next
End Sub
'在List的Click事件中
Private Sub List1_Click()
Dim GLI As Integer
GLI = List1.ItemData(List1.ListIndex)
MsgBox "你所选定项的ItemData是:" & GLI
End Sub
--------------------------------------
问题:
1.如果要用Listview控件添加的话.如何去写? 相关的 ItemData 如何去设置?
2.其次就是如何从Listview中很多项中删除某一项.其它的项ItemData不因删除某一项而发生改变.
3.假设有5项内容. 如何修改该项的某子项内容呢?
其实就是如何把上面的List代码变成Listview代码.
List控件添加使用List1.additem , 而Listview我则不会用.就是这个意思..
求例子谢谢.
解决方案 »
- MSForms.UserForm
- VB执行SQL语句错误问题请高手看下
- 局域网客户端0.5秒钟刷新一次服务器数据库是否可行?以便及时得到服务器中的新数据并显示在客户端自己的界面上。客户端一共有15个,数据库中的记录2万条左右。
- (求助)请问我想打开文件,生成新文件1,再打开新文件1生成新文件2,如此反复生成10份新文件,应该怎样做,自己编程实现不了,请高手指教。
- 在textbox禁止输入文字和符号,但是用鼠标复制文字符号,然后粘贴上去,还是可以,怎么解决
- 怎么用FlexCell做打印?最好有源代码
- 关于时间问题?
- 在ActiveReport报表中ActiveReport_FetchData中怎么用两个Recordset
- 谁知道CSDN中的帖子用鼠标双击后自动滚屏是如何实现的?????
- 怎样使程序结束时自动删除自己?
- 发帖前咨询了,还是没有答案,关键字:CreateFolder、App.path、路径未找到
- 请教老鸟,如何把控件封装在exe中?
2.(ListView 没有 ItemData 这个属性)
3.ListView1.ListItems.Remove ListView1.ListItems("A" & Index).Index
Private Sub WinsockSRV_DataArrival(index As Integer, ByVal bytesTotal As Long)
Dim RIp As String
Dim RPort As Integer
RIp = WinsockSRV(index).RemoteHostIP
RPort = WinsockSRV(index).RemotePort 'List1.AddItem " Host Name " & RIp & RPort & index'添加一条新项
'List1.ItemData(List1.NewIndex) = index '设置新添加项的ItemData值 ListView1.ListItems.Add , "A" & Index, " Host Name " & RIp & RPort & IndexEnd Sub'在WinsockSRV的Close事件中
Private Sub WinsockSRV_Close(index As Integer)
' Dim i As Integer
' Dim LC As Integer
' LC = List1.ListCount
' For i = 0 To LC - 1
' If List1.ItemData(i) = index Then
' WinsockSRV(index).Close '相应的 SCK 关闭
' List1.RemoveItem i
' Exit For
' End If
' Next ListView1.ListItems.Remove ListView1.ListItems("A" & Index).Index
Dim sKey As String
sKey = ListView1.ListItems("A" & Index).Key
sKey = Mid(sKey,2)
WinsockSRV(Val(sKey)).CloseEnd Sub'在List的Click事件中
Private Sub List1_Click()
'Dim GLI As Integer
'GLI = List1.ItemData(List1.ListIndex)
Dim sKey As String
sKey = ListView1ListView1.SelectedItem.Key
sKey = Mid(sKey,2) MsgBox "你所选定项的ItemData是:" & sKey End Sub.........................
好了吧
lvEmployees.ListItems.Clear
Dim rs As New ADODB.Recordset
Dim strsql As String
strsql = "select e.id,e.name,u.Unit_Name,c.Class_Name from (employee e inner join unit u on e.unit= u.unit_ID) inner join class c on e.class=c.Class_Id where e.unit=" & Val(dcbUnit.Text) '& Left(dcbUnit.Text, 5)
rs.Open strsql, Adocnn, adOpenStatic, adLockReadOnly
While Not rs.EOF
Set itmX = lvEmployees.ListItems.Add(, , rs!ID)
itmX.SubItems(1) = rs!Name
itmX.SubItems(2) = rs!Unit_Name
itmX.SubItems(3) = rs!Class_Name
rs.MoveNext
Wend
Set rs = Nothing
End Sub
我又深入的看了些帖子.发现ListView是个神奇的控件.HOHO.
明白了许多.看来要多多练习啊.
Thanks !
加载xml文件错误,请跟斑竹联系!!请斑竹生成以下社区的贴子列表!!
roomid:5101
typenum:2