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


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

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

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
[求助]全局表事件 CurrentChanged问题  发帖心情 Post By:2017/5/18 17:24:00 [只看该作者]

[求助]全局表事件 CurrentChanged问题

我有一段代码,放在表事件 CurrentChanged中完全正常,但放在全局表事件 CurrentChanged 中执行时出现错误 

错误信息为       Invalid parameters for Select method

请问是什么原因造成的?需要注意什么?

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/18 17:29:00 [只看该作者]

代码贴出来看看

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2017/5/18 17:42:00 [只看该作者]

Dim tb As Table = Forms("共有日志窗口").Controls("Table1").Table
tb.StopRedraw
If tb.Rows.Count > 0 Then
    tb.DataTable.DeleteFor(True)
End If
Dim lbl数据表名 As WinForm.Label = Forms("共有日志窗口").Controls("lbl数据表名")
Dim lbl主键 As WinForm.Label = Forms("共有日志窗口").Controls("lbl主键")
lbl数据表名.text = CurrentTable.Name
lbl主键.text = CurrentTable.Current("_Identify")
If CurrentTable.Current IsNot Nothing AndAlso CurrentTable.Cols.Contains("日志") = True Then
    If CurrentTable.Current.IsNull("日志") = False AndAlso CurrentTable.Current("日志") <> "" Then
        Dim jihe As new List( of String)
        jihe.AddRange(CurrentTable.Current("日志").Split(vblf))
        If jihe.Count > 0 Then
            For Each jh As String In jihe
                Dim jihe1 As new List( of String)
                jihe1.AddRange(jh.Split("|"))
                If jihe1.Count = 7 Then
                    tb.AddNew()
                    tb.Current("字段") = jihe1(1).SubString(jihe1(1).IndexOf("=")+1,jihe1(1).Length-jihe1(1).IndexOf("=")-1)
                    tb.Current("原值") = jihe1(2).SubString(jihe1(2).IndexOf("=")+1,jihe1(2).Length-jihe1(2).IndexOf("=")-1)
                    tb.Current("新值") = jihe1(3).SubString(jihe1(3).IndexOf("=")+1,jihe1(3).Length-jihe1(3).IndexOf("=")-1)
                    tb.Current("修改日期") = Cdate(jihe1(4).SubString(jihe1(4).IndexOf("=")+1,jihe1(4).Length-jihe1(4).IndexOf("=")-1))
                    tb.Current("修改人") = jihe1(5).SubString(jihe1(5).IndexOf("=")+1,jihe1(5).Length-jihe1(5).IndexOf("=")-1)
                    tb.Current("修改终端") = jihe1(6).SubString(jihe1(6).IndexOf("=")+1,jihe1(6).Length-jihe1(6).IndexOf("=")-1)
                End If
            Next
        End If
    End If
Else
    lbl主键.text = "无日志字段"
End If
tb.ResumeRedraw



问题出在红色代码处,但在表事件 CurrentChanged中完全正常


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/18 18:04:00 [只看该作者]

 你要判断一下e.Table.name

 

If e.Table.name = tb.name Then return


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2017/5/19 11:15:00 [只看该作者]

这个事件的错误有点吼不住,我表名判断了,空行排除了,就是不行.也真是奇怪了!

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/19 11:36:00 [只看该作者]

3楼的代码是不是会触发其它的事件,看看哪里用到DataTable.Select、Table.Select这类函数的

 回到顶部