Dim i
Static Count_Zs As Integer
Count_Zs = 0
For i = 1 To ListView1.ListItems.Count
If ListView1.ListItems(i).Checked Then
'MsgBox ListView1.ListItems(i).SubItems(1) & " 是选中的!"
If ListView1.ListItems(i).SubItems(2) = ListView1.ListItems(i + 1).SubItems(2) And ListView1.ListItems(i).SubItems(3) = ListView1.ListItems(i + 1).SubItems(3) Then
Count_Zs = Count_Zs + ListView1.ListItems(i).SubItems(5)
就是想把产品名称和规格相同的记录的数量相加.变成一条记录,显示在rk_depot的grid上,现在问题是:
假设第一条和第四条的名称和规格相同,以上的IF语句就没用了.怎么办?
或者有其他办法也可以.希望大家帮我想想。不明白的.发帖.我在线等
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 0) = ListView1.ListItems(i).SubItems(1)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 1) = ListView1.ListItems(i).SubItems(2)'规格
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 2) = ListView1.ListItems(i).SubItems(3)'型号
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 3) = ListView1.ListItems(i).SubItems(4)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 4) = Count_Zs
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 5) = ListView1.ListItems(i).SubItems(6) + ListView1.ListItems(i - 1).SubItems(6)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 6) = ListView1.ListItems(i).SubItems(7) + ListView1.ListItems(i - 1).SubItems(7)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 7) = ListView1.ListItems(i).SubItems(8)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 8) = ListView1.ListItems(i).SubItems(9)
Else
Rk_Depot.Grid.Rows = Rk_Depot.Grid.Rows + 1
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 0) = ListView1.ListItems(i).SubItems(1)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 1) = ListView1.ListItems(i).SubItems(2)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 2) = ListView1.ListItems(i).SubItems(3)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 3) = ListView1.ListItems(i).SubItems(4)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 4) = ListView1.ListItems(i).SubItems(5)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 5) = ListView1.ListItems(i).SubItems(6)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 6) = ListView1.ListItems(i).SubItems(7)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 7) = ListView1.ListItems(i).SubItems(8)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 8) = ListView1.ListItems(i).SubItems(9) End If
Else
'MsgBox ListView1.ListItems(i).Text & " 没选中!"
'Exit Sub
End If
Static Count_Zs As Integer
Count_Zs = 0
For i = 1 To ListView1.ListItems.Count
If ListView1.ListItems(i).Checked Then
'MsgBox ListView1.ListItems(i).SubItems(1) & " 是选中的!"
If ListView1.ListItems(i).SubItems(2) = ListView1.ListItems(i + 1).SubItems(2) And ListView1.ListItems(i).SubItems(3) = ListView1.ListItems(i + 1).SubItems(3) Then
Count_Zs = Count_Zs + ListView1.ListItems(i).SubItems(5)
就是想把产品名称和规格相同的记录的数量相加.变成一条记录,显示在rk_depot的grid上,现在问题是:
假设第一条和第四条的名称和规格相同,以上的IF语句就没用了.怎么办?
或者有其他办法也可以.希望大家帮我想想。不明白的.发帖.我在线等
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 0) = ListView1.ListItems(i).SubItems(1)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 1) = ListView1.ListItems(i).SubItems(2)'规格
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 2) = ListView1.ListItems(i).SubItems(3)'型号
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 3) = ListView1.ListItems(i).SubItems(4)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 4) = Count_Zs
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 5) = ListView1.ListItems(i).SubItems(6) + ListView1.ListItems(i - 1).SubItems(6)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 6) = ListView1.ListItems(i).SubItems(7) + ListView1.ListItems(i - 1).SubItems(7)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 7) = ListView1.ListItems(i).SubItems(8)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 8) = ListView1.ListItems(i).SubItems(9)
Else
Rk_Depot.Grid.Rows = Rk_Depot.Grid.Rows + 1
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 0) = ListView1.ListItems(i).SubItems(1)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 1) = ListView1.ListItems(i).SubItems(2)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 2) = ListView1.ListItems(i).SubItems(3)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 3) = ListView1.ListItems(i).SubItems(4)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 4) = ListView1.ListItems(i).SubItems(5)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 5) = ListView1.ListItems(i).SubItems(6)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 6) = ListView1.ListItems(i).SubItems(7)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 7) = ListView1.ListItems(i).SubItems(8)
Rk_Depot.Grid.TextMatrix(Rk_Depot.Grid.Rows - 1, 8) = ListView1.ListItems(i).SubItems(9) End If
Else
'MsgBox ListView1.ListItems(i).Text & " 没选中!"
'Exit Sub
End If
If n > 0 Then
Count_Zs = ListView1.ListItems(n).SubItems(5)
sub6 = ListView1.ListItems(n).SubItems(6)
sub7 = ListView1.ListItems(n).SubItems(7) For i = n + 1 To ListView1.ListItems.Count
If ListView1.ListItems(n).SubItems(2) = ListView1.ListItems(i).SubItems(2) And ListView1.ListItems(n).SubItems(3) = ListView1.ListItems(i).SubItems(3) Then
Count_Zs = Count_Zs + ListView1.ListItems(i).SubItems(5)
sub6 = sub6 + ListView1.ListItems(i).SubItems(6)
sub7 = sub7 + ListView1.ListItems(i).SubItems(7)
Next i
i = Rk_Depot.Grid.Rows - 1
Rk_Depot.Grid.TextMatrix(i, 0) = ListView1.ListItems(n).SubItems(1)
Rk_Depot.Grid.TextMatrix(i, 1) = ListView1.ListItems(n).SubItems(2)'规格
Rk_Depot.Grid.TextMatrix(i, 2) = ListView1.ListItems(n).SubItems(3)'型号
Rk_Depot.Grid.TextMatrix(i, 3) = ListView1.ListItems(n).SubItems(4)
Rk_Depot.Grid.TextMatrix(i, 4) = Count_Zs
Rk_Depot.Grid.TextMatrix(i, 5) = Sub6
Rk_Depot.Grid.TextMatrix(i, 6) = Sub7
Rk_Depot.Grid.TextMatrix(i, 7) = ListView1.ListItems(n).SubItems(8)
Rk_Depot.Grid.TextMatrix(i, 8) = ListView1.ListItems(n).SubItems(9)
Else
'......
Rk_Depot.Grid.TextMatrix(i, 0) = ListView1.ListItems(n).SubItems(1)
Rk_Depot.Grid.TextMatrix(i, 1) = ListView1.ListItems(n).SubItems(2)'规格
................................写在了循环之外是什么意思?