以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]这段代码为何只能删除一半的行数  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=25329)

--  作者:zcw2764
--  发布时间:2012/11/6 20:01:00
--  [求助]这段代码为何只能删除一半的行数

下面这段代码每次执行只能删除当前表一半的行数,不知问题在何处,请高手指点

If Tables("人资_绩效写实").rows.Count > 0
    Dim i As Integer = Tables("人资_绩效写实").rows.Count
    Dim Result As DialogResult
       Result = MessageBox.Show("不可逆,确定删除这" & i & "行数据", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            For Each r As Row In Tables("人资_绩效写实").Rows
                r.locked = False
                r.delete()
            Next
            DataTables("人资_绩效写实").save()
        End If
  End If


--  作者:狐狸爸爸
--  发布时间:2012/11/6 20:30:00
--  

可以在这里找到原因:

http://www.foxtable.com/help/topics/0599.htm

 

建议你将代码改为:

 

For n A integer = Tables("人资_绩效写实").Rows.Count -1 To 0  Step -1

     Tables("人资_绩效写实").Rows(n).Delete()

Next


--  作者:zcw2764
--  发布时间:2012/11/6 20:49:00
--  
谢谢狐爸指点,看来还要多啃帮助...