Foxtable(狐表)用户栏目专家坐堂 → [求助]全局表事件


  共有3007人关注过本帖树形打印复制链接

主题:[求助]全局表事件

帅哥哟,离线,有人找我吗?
lgj716330
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1394 积分:10728 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]全局表事件  发帖心情 Post By:2021/9/12 14:06:00 [只看该作者]

在全局表事件的DataColChanged写了以下代码,
Select Case e.DataTable.Name
    Case "统计表A"
    If e.DataCol.Name = "姓名" Then
            Dim de As DataRow = e.DataRow
            Dim dr As DataRow
            dr = DataTables("档案表").find("姓名 = '" & de("姓名") & "'")
                If dr IsNot Nothing Then
                    de("部门")=dr("部门")
                End If
    End If
End Select

同时在Initialize中启动了全局表事件
For  Each dt  As  DataTable  In  DataTables
    dt.GlobalHandler.DataColChanged = True
Next

在统计表A中录入姓名后,没有从档案表中引部门过来,代码没起作用
[此贴子已经被作者于2021/9/12 14:09:07编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/12 20:31:00 [只看该作者]

Initialize的代码仅对已经存在的表格有用,最新生成的表格没有用。新生成的表格(统计表、窗口sqltable表,或者fill,DataSource绑定的表)在生成后需要另外使用代码启用全局表事件,比如

Tables("窗口1_Table1").Fill("Select * From {客户} Where 地区 = '华北'","nwnd",True)
DataTables("窗口1_Table1").GlobalHandler.DataColChanged = True

 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1394 积分:10728 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/9/13 8:50:00 [只看该作者]

都是已经存在的表,我使用的是自定义用户管理,会不会跟这个有关系
[此贴子已经被作者于2021/9/13 8:53:03编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110746 积分:563656 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/13 8:58:00 [只看该作者]

应该没有关系,除非是登录后才加载的表

 回到顶部