搬家第25天-citectVBA删除listview控件选定的行
前面的博客记录了listview初始化、添加checkbox的脚本设置。如果我们希望能够删除listview指定的行,可以按照以下思路:首先计算勾选了多少行,接下来判断勾选的行数是不是大于0,如果大于0,就循环一下过程,直到勾选行数为0:让行号为1,如果当前行被勾选,就删除当前行,行号不变,勾选行数减1,如果当前行没有勾选,不删除当前行,当前行号加1。
假设当前页面为page2,listview控件访问名是page2_AN6,初始化该控件

写下面的citectVBA脚本
Sub DellselRow()
Dim CheckedCount,RowCount,i
RowCount= page2_AN6.ListItems.Count
For i=1 To RowCount
If page2_AN6.listitems(i).checked=True Then
CheckedCount=CheckedCount+1
End If
Next
i=1
If CheckedCount<>0 Then
Do While CheckedCount>0
If page2_AN6.listitems(i).checked=True Then
page2_AN6.ListItems.remove(i)
CheckedCount=CheckedCount-1
Else
i=i+1
End If
Loop
End If
End Sub
画面上放置
一个按钮,调用上面的脚本
civba call DellselRow()
保存编译运行,假设勾选以下内容:

按下删除按钮,看到以下效果


浙公网安备 33010602011771号