以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  DataColChanged表事件执行e.form.controls("TBox").value赋值错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=137274)

--  作者:wangjh8888
--  发布时间:2019/7/2 13:20:00
--  DataColChanged表事件执行e.form.controls("TBox").value赋值错误
老师 好

在表事件DataColChanged有下面代码:

Select Case e.DataRow("Screen")
    Case "项目参数"
    Case "系统参数"
    Case Else
msgbox(e.DataRow("Screen"))
msgbox(e.NewValue )
msgbox(e.DataRow(e.DataCol.Name))
    e.form.controls("TBox").value = e.NewValue 

End Select


在这里    e.form.controls("TBox").value = e.NewValue 就出现错误:

.NET Framework 版本:2.0.50727.5420
Foxtable 版本:2018.10.9.1
错误所在事件:表,矩阵场景,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。

--  作者:狐狸爸爸
--  发布时间:2019/7/2 14:10:00
--  
DataColchanged时间没有e.Form这个参数的哦。

应该直接:

if  Forms("窗口名").Opened() Then
  forms("窗口名").controls("TBox").value = e.NewValue 
End IF

--  作者:有点蓝
--  发布时间:2019/7/2 14:13:00
--  
2个问题
2、使用到窗口控件的,必须先判断窗口是否处于打开状态

if forms(“窗口1”).opened then  forms(“窗口1”).controls("TBox").value = e.NewValue

--  作者:wangjh8888
--  发布时间:2019/7/2 21:23:00
--  
谢谢