以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]全局表事件 CurrentChanged问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100806) |
-- 作者:lzzhx -- 发布时间:2017/5/18 17:24:00 -- [求助]全局表事件 CurrentChanged问题 [求助]全局表事件 CurrentChanged问题 我有一段代码,放在表事件 CurrentChanged中完全正常,但放在全局表事件 CurrentChanged 中执行时出现错误 错误信息为 Invalid parameters for Select method 请问是什么原因造成的?需要注意什么?
|
-- 作者:有点蓝 -- 发布时间:2017/5/18 17:29:00 -- 代码贴出来看看 |
-- 作者:lzzhx -- 发布时间: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中完全正常 |
-- 作者:有点色 -- 发布时间:2017/5/18 18:04:00 -- 你要判断一下e.Table.name
If e.Table.name = tb.name Then return |
-- 作者:blackzhu -- 发布时间:2017/5/19 11:15:00 -- 这个事件的错误有点吼不住,我表名判断了,空行排除了,就是不行.也真是奇怪了! |
-- 作者:有点蓝 -- 发布时间:2017/5/19 11:36:00 -- 3楼的代码是不是会触发其它的事件,看看哪里用到DataTable.Select、Table.Select这类函数的 |