vb listview 第一列能够编辑的问题,如何禁用!!! 15
我现在使用listview控件显示一些数据,当我用鼠标选中某行是。操作是先用鼠标右键选中某行,再点击鼠标左键,该行第一列出现一个输入框,怎么禁用呀!!!...
我现在使用listview控件显示一些数据,当我用鼠标选中某行是。操作是先用鼠标右键选中某行,再点击鼠标左键,该行第一列出现一个输入框,怎么禁用呀!!!
展开
3个回答
展开全部
用下面的参考把
Private Sub Form_Load()
ListView1.View = lvwReport '显示风格
ListView1.Appearance = ccFlat '平面显示
ListView1.BorderStyle = ccNone '外框风格
ListView1.LabelEdit = lvwManual '不允许即时编辑标签
ListView1.MultiSelect = True '允许多选
ListView1.GridLines = True '显示网格线
ListView1.FullRowSelect = True '整行选取
ListView1.FlatScrollBar = False '使用三维的滚动条
ListView1.ColumnHeaders.Clear '清除默认列标头
Dim cn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim SqlStr As String
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\jswnd-Server\DATA\suopei.mdb;Persist Security Info=False"
SqlStr = "Select * From ABC"
rst.CursorLocation = adUseClient
rst.Open SqlStr, cn, adOpenDynamic, adLockOptimistic, adCmdText '打开记录集
'以下为列标头设置
For I = 0 To rst.Fields.Count - 1
If I = 0 Then
ListView1.ColumnHeaders.Add , , rst.Fields(I).Name, ListView1.Width / rst.Fields.Count, lvwColumnLeft ', i + 1 '第一列必须左对齐
Else
ListView1.ColumnHeaders.Add , , rst.Fields(I).Name, ListView1.Width / rst.Fields.Count, lvwColumnCenter ', i + 1
End If
Next I
'以下为添加数据
j = 0
Do While rst.EOF = False
j = j + 1
ListView1.ListItems.Add , , rst.Fields(0).Value '第一列与其它列不一样
For I = 1 To rst.Fields.Count - 1
On Error Resume Next
ListView1.ListItems.Item(j).SubItems(I) = CStr(rst.Fields(I).Value) '其它列
Next I
rst.MoveNext
Loop
End Sub
Private Sub Form_Load()
ListView1.View = lvwReport '显示风格
ListView1.Appearance = ccFlat '平面显示
ListView1.BorderStyle = ccNone '外框风格
ListView1.LabelEdit = lvwManual '不允许即时编辑标签
ListView1.MultiSelect = True '允许多选
ListView1.GridLines = True '显示网格线
ListView1.FullRowSelect = True '整行选取
ListView1.FlatScrollBar = False '使用三维的滚动条
ListView1.ColumnHeaders.Clear '清除默认列标头
Dim cn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim SqlStr As String
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\jswnd-Server\DATA\suopei.mdb;Persist Security Info=False"
SqlStr = "Select * From ABC"
rst.CursorLocation = adUseClient
rst.Open SqlStr, cn, adOpenDynamic, adLockOptimistic, adCmdText '打开记录集
'以下为列标头设置
For I = 0 To rst.Fields.Count - 1
If I = 0 Then
ListView1.ColumnHeaders.Add , , rst.Fields(I).Name, ListView1.Width / rst.Fields.Count, lvwColumnLeft ', i + 1 '第一列必须左对齐
Else
ListView1.ColumnHeaders.Add , , rst.Fields(I).Name, ListView1.Width / rst.Fields.Count, lvwColumnCenter ', i + 1
End If
Next I
'以下为添加数据
j = 0
Do While rst.EOF = False
j = j + 1
ListView1.ListItems.Add , , rst.Fields(0).Value '第一列与其它列不一样
For I = 1 To rst.Fields.Count - 1
On Error Resume Next
ListView1.ListItems.Item(j).SubItems(I) = CStr(rst.Fields(I).Value) '其它列
Next I
rst.MoveNext
Loop
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-03-30 · 知道合伙人数码行家
关注
展开全部
ListView1.SelectedItems.Clear()就可以了,
可以用下面的语句测试
MsgBox(CStr(ListView1.SelectedItems.Count))
ListView1.SelectedItems.Clear()
MsgBox(CStr(ListView1.SelectedItems.Count))
可以用下面的语句测试
MsgBox(CStr(ListView1.SelectedItems.Count))
ListView1.SelectedItems.Clear()
MsgBox(CStr(ListView1.SelectedItems.Count))
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询