以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表事件代码不能立即生效?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148077)

--  作者:wcs
--  发布时间:2020/3/30 19:53:00
--  表事件代码不能立即生效?
我在表事件CurrentChanged或是PositionChanged中写的代码,重新打开项目后无法立即生效。
只有我在主菜单-表-表属性-事件中确定下以后,这些代码才能生效。

不知为何?
是不是哪里设置有问题?

--  作者:有点蓝
--  发布时间:2020/3/30 20:11:00
--  
CurrentChanged或是PositionChanged只有选择不同行才会触发。所有事件都有触发的条件,并不是一打开项目所有事件都会执行一遍
--  作者:wcs
--  发布时间:2020/3/30 21:31:00
--  
这样的代码,有什么问题吗?
这段代码的意思是,选中的行,“选择”列的值为true,其他行的“选择”列的值全部为false。顺带写入三个TextBox的值。
实际上这三个TextBox的值是可以正常写入的,但“选择”列的true,无法响应,非得在主菜单-表-表属性-事件中确定下才生效。

If e.Table.Current Is Nothing Then \'如果Current为Nothing
    Return \'则返回
Else
    Forms("自动整理数据").show()
    e.Table.Current("选择") = True
    Dim id As String = e.Table.Current("_Identify") \'删除其他行中的选择勾勾
    For Each dr As Row In e.Table.Rows
        If dr("_Identify") <> id  Then
            dr("选择") = False
        End If
    Next    
    Forms("自动整理数据").Controls("TextBox2").text = e.Table.Current("数据库名称")
    Forms("自动整理数据").Controls("TextBox3").text = e.Table.Current("项目名称")
    Forms("自动整理数据").Controls("TextBox4").text = e.Table.Current("账套年度")    
End If

--  作者:有点蓝
--  发布时间:2020/3/30 21:35:00
--  
我测试没有问题。请上传实例说明