以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]AfterCheckRow 事件相关  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68722)

--  作者:zhl7928
--  发布时间:2015/5/23 10:43:00
--  [求助]AfterCheckRow 事件相关

在AfterCheckRow 事件里写了这些代码


If e.Row("调1") = "调出店铺" Then

    e.Table.DataTable.DeleteFor("调1 = \'调出店铺\'")

    If e.Table.rows.count = 0 Then

        Forms("调拨明细").Visible = False

    End If

End If

If e.Row("调1") = "调入店铺" Then

    e.Row.Delete()

    If e.Table.rows.count = 0 Then

        Forms("调拨明细").Visible = False

    End If

End If




--  作者:zhl7928
--  发布时间:2015/5/23 10:43:00
--  
然后测试 选取e.Row("调1") = "调出店铺" 这样行的复选框,就会有这么个提示:

This row has been removed from a table and does not have any data.  BeginEdit() will allow creation of new data in this row.


说是已经删除了的行什么的。  怎么办? 目的是选取e.Row("调1") = "调出店铺"这样的行后,所有这样的行都删除掉


--  作者:Bin
--  发布时间:2015/5/23 10:49:00
--  
上例子.
我自行测试 

If e.Row("第一列") = "A" Then

    e.Row.Delete()

end if


没有问题,正常运作


--  作者:zhl7928
--  发布时间:2015/5/23 11:30:00
--  
我知道原因了 
第一个条件满足后 已经删除e.row 了
第二个条件要判断的话 就会出错