Private Sub Form_Load() ListView1.ColumnHeaders.Add , , "MUN" ListView1.View = lvwReport For I = 1 To 10 ListView1.ListItems.Add , , I Next End SubPrivate Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem) S = Item For I = 1 To ListView1.ListItems.Count If ListView1.ListItems(I) <> S Then ListView1.ListItems(I).Checked = False End If Next End Sub
用索引或用Key识别: 如 Option ExplicitPrivate Sub Form_Load() Dim I As Integer ListView1.ColumnHeaders.Add , , "MUN" ListView1.View = lvwReport For I = 1 To 9 ListView1.ListItems.Add , "A" & I, I Next ListView1.ListItems.Add , "A" & 10, 5 End SubPrivate Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem) Dim I As Integer Dim S As String S = Item.Key For I = 1 To ListView1.ListItems.Count If ListView1.ListItems(I).Key <> S Then ListView1.ListItems(I).Checked = False End If Next End Sub
Private Sub Form_Load() Me.ListView1.ListItems.Add "1", "'1'", "1" Me.ListView1.ListItems.Add "2", "'2'", "2" Me.ListView1.ListItems.Add "3", "'3'", "3" Me.ListView1.ListItems.Add "4", "'4'", "4" Me.ListView1.ListItems.Add "5", "'5'", "5" End Sub Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem) Dim i As Integer For i = 1 To ListView1.ListItems.Count ListView1.ListItems(i).Checked = False Next Item.Checked = True End Sub
ListView1.ColumnHeaders.Add , , "MUN"
ListView1.View = lvwReport
For I = 1 To 10
ListView1.ListItems.Add , , I
Next
End SubPrivate Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
S = Item
For I = 1 To ListView1.ListItems.Count
If ListView1.ListItems(I) <> S Then
ListView1.ListItems(I).Checked = False
End If
Next
End Sub
s = item这行
但是还有个小问题,就是如果我listview里面有多个相同名字比如(F3110211)的话,则可以连续选中多个...直到你选了不同名字的记录.这个怎么避免?
Option ExplicitPrivate Sub Form_Load()
Dim I As Integer
ListView1.ColumnHeaders.Add , , "MUN"
ListView1.View = lvwReport
For I = 1 To 9
ListView1.ListItems.Add , "A" & I, I
Next
ListView1.ListItems.Add , "A" & 10, 5
End SubPrivate Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
Dim I As Integer
Dim S As String
S = Item.Key
For I = 1 To ListView1.ListItems.Count
If ListView1.ListItems(I).Key <> S Then
ListView1.ListItems(I).Checked = False
End If
Next
End Sub
Private Sub Form_Load()
Me.ListView1.ListItems.Add "1", "'1'", "1"
Me.ListView1.ListItems.Add "2", "'2'", "2"
Me.ListView1.ListItems.Add "3", "'3'", "3"
Me.ListView1.ListItems.Add "4", "'4'", "4"
Me.ListView1.ListItems.Add "5", "'5'", "5"
End Sub
Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
Dim i As Integer
For i = 1 To ListView1.ListItems.Count
ListView1.ListItems(i).Checked = False
Next
Item.Checked = True
End Sub
Private Sub LsV_ItemCheck(ByVal Item As MSComctlLib.ListItem)Dim j As Integer
For j = 1 To LsV.ListItems.Count
LsV.ListItems(j).Checked = FalseItem.Checked = TrueTxtInvCode.Text = LsV.ListItems(j) '母件名称
TxtcInvName.Text = Item.SubItems(1) '母件名称
TxtcInvStd.Text = Item.SubItems(6) '规格型号
TxtUnitName.Text = Item.SubItems(7) '计量单位
TxtBomId.Text = Item.SubItems(2) '版本号
TxtBomDec.Text = Item.SubItems(4) '版本说明
TxtBomDate.Text = Item.SubItems(5) '版本日期
Txtkhcode.Text = Item.SubItems(3) '客户编码NextEnd Sub目前运行的问题是:listview的第一列"母件名称"总是不能正确显示在TxtInvCode.Text里面.但是别的text都正常
TxtInvCode.Text里面固定显示为最后一行的第一列的"母件名称"
请大家再帮我看看代码哪里需要更改下?
这个谁能帮帮我,加分求助啊
Private Sub LsV_ItemCheck(ByVal Item As MSComctlLib.ListItem) Dim j As Integer
For j = 1 To LsV.ListItems.Count
LsV.ListItems(j).Checked = False Item.Checked = True
Next
TxtInvCode.Text = Item '母件名称
TxtcInvName.Text = Item.SubItems(1) '母件名称
TxtcInvStd.Text = Item.SubItems(6) '规格型号
TxtUnitName.Text = Item.SubItems(7) '计量单位
TxtBomId.Text = Item.SubItems(2) '版本号
TxtBomDec.Text = Item.SubItems(4) '版本说明
TxtBomDate.Text = Item.SubItems(5) '版本日期
Txtkhcode.Text = Item.SubItems(3) '客户编码
End Sub