以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  DataRowDeleted事件中的e参数怎么用?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=4643)

--  作者:reachtone
--  发布时间:2009/10/16 17:02:00
--  DataRowDeleted事件中的e参数怎么用?

在Table的DataRowDeleted事件中设置了以下代码,希望得到删除行的记录号:

Dim xx as String = e.DataRow("_Identify")
MessageBox.Show(xx)


为什么提示以下错误?这个事件中不是可以通过e参数返回被删除的行吗?


图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看

--  作者:程兴刚
--  发布时间:2009/10/16 17:36:00
--  
Dim xx as String = Tables("当前表").Current("_Identify")
MessageBox.Show(xx
)
[此贴子已经被作者于2009-10-16 17:39:39编辑过]

--  作者:reachtone
--  发布时间:2009/10/16 17:39:00
--  
DataRowDeleted事件中有DataRow这个e参数的。现在的问题是,这个e参数不能用吗?

Tables(
"当前表").Current("_Identify")   这个得到的值应该不是删除行的了。

--  作者:狐狸爸爸
--  发布时间:2009/10/16 17:40:00
--  
已经删除了,不能用了。
用DataRowDeleting事件
--  作者:czy
--  发布时间:2009/10/16 17:42:00
--  
我想应该是行被删除了,引用不到指定值了吧(猜的)。
--  作者:reachtone
--  发布时间:2009/10/16 17:44:00
--  
以下是引用狐狸爸爸在2009-10-16 17:40:00的发言:
已经删除了,不能用了。
用DataRowDeleting事件

收到。那就请老六把这个事件也删除掉吧,免得后来者也和我有一样的疑问。


--  作者:程兴刚
--  发布时间:2009/10/16 17:45:00
--  

BeforeDeleteDataRow事件中应该是删除以前的
没测试e参数


--  作者:mr725
--  发布时间:2009/10/16 21:13:00
--  
不知道这段代码能否完整显示被删除的行(只要不删除_identify的最后一行就可以,否则要把这个曾经最大的行号保存这一个变量中,再判断):
Dim n,s,s1 as integer
Tables("表A").Sort = "_Identify"
For i as integer = 0 To Tables("表A").Count -1
    Dim m as integer = Tables("表A").rows(i)("_Identify")
    n = m - i+s
    If n-s - s1 > 0 Then  
        s = n
        output.show("删除的行是:" & " " & i+s1 & " 到 " & m-1)  \'****显示被删除的行::::::::
        s1 = m - i   
    End If
Next


[此贴子已经被作者于2009-10-16 22:32:29编辑过]