以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]我在“人力档案”表的PrepareEdit事件中加的这段代码,有问题吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=72466)

--  作者:dogman
--  发布时间:2015/7/30 16:24:00
--  [求助]我在“人力档案”表的PrepareEdit事件中加的这段代码,有问题吗?
我在“人力档案”表的PrepareEdit事件中加的这段代码,一有选择这些列的年月后就会死机,CPU徘徊在50%不下。有问题吗?
Select Case e.Col.name
    Case "入职_社保_起交年月", _
        "入职_社保_起收年月", _
        "入职_公积金_起交年月", _
        "入职_公积金_起收年月", _
        "离职_社保_停交年月", _
        "离职_社保_停收年月", _
        "离职_公积金_停交年月", _
        "离职_公积金_停收年月"
        
        Dim tb As New DropTreeBuilder
        tb.SourceTable = DataTables("年月")     \'指定目录树表
        tb.TreeCols = "年|年月"                        \'指定用于生成目录树的列
        tb.SourceCols = "年月"                        \'指定数据来源列
        tb.ReceiveCols = e.Col.Name                \'★指定数据接收列
        tb.TreeSort = "_Identify"
        e.Col.DropTree = tb.Build()

End Select

--  作者:狐狸爸爸
--  发布时间:2015/7/30 16:33:00
--  

 不可以这样的,生成目录树是很消耗的工作,不可以写在PreareEdit事件中,一般写在MainTableChanged时间,参考:

http://www.foxtable.com/help/topics/2127.htm

 


--  作者:有点蓝
--  发布时间:2015/7/30 16:35:00
--  
  tb.ReceiveCols = e.Col.Name 不能这么写
你执行一次PrepareEdit 就会 同时 执行8次 目录树绑定
直接指定名字

--  作者:dogman
--  发布时间:2015/7/30 16:40:00
--  
谢谢