以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  临时表的属性代码问题[已解決]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45122)

--  作者:realredred
--  发布时间:2014/1/16 10:52:00
--  临时表的属性代码问题[已解決]

想在动态加载临时表,而在临时表修改后有显示对话框

如:"结存"临时表里的"形狀"列修改后显示对话框

 

应该在全局表事件里写
Select Case e.DataTable.Name
    Case "结存"
       
        If e.DataCol.Name = "形狀" Then
            If e.DataRow.IsNull("形狀") Then
                MessageBox.Show("空值")
            Else
                MessageBox.Show("实值")
            End If
        End   If
End Select

同时要Initialize设开关
DataTables("结存").GlobalHandler.DataColChanged = True

但因为在项目打开时,沒有这个"结存"的临时表,系统会报错.

于是我加一个打开时检测表的代码
For Each dt As DataTable In DataTables
    If dt.name = "结存" Then
        DataTables("结存").GlobalHandler.DataColChanged = True
    End If
Next

但结果无效,正确应该怎样做?
求老师指引.

 

[此贴子已经被作者于2014-1-24 14:57:39编辑过]

--  作者:Bin
--  发布时间:2014/1/16 10:57:00
--  
在ALteropenPROJECT事件中处理看看.
--  作者:realredred
--  发布时间:2014/1/16 11:00:00
--  

AfterOpenProject我试过了,无效

我在MainTableChanged
同样加入了临时表检测开关
结果成功了,这个是正确方法嗎?
会不会对系统速度上有影响?
还是加一个全局变量,去记录是否已为这个临时表开关打开?
[此贴子已经被作者于2014-1-16 11:01:11编辑过]

--  作者:Bin
--  发布时间:2014/1/16 11:01:00
--  
MainTableChanged 加入这种小判断不会影响效率. 用全局变量也行.
--  作者:realredred
--  发布时间:2014/1/16 11:48:00
--  
测试过速度,是0秒
应该不影响系统,谢谢BIN老師指引.