以文本方式查看主题

-  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=61634)

--  作者:huangfanzi
--  发布时间:2014/12/16 13:06:00
--  [求助]通过prepareEdit事件代码生成数据表目录树引起死机的求助
用刚才老师指导的方法我在prepareEdit事件中设置了如何代码:
\'设置【公司】列数据表目录数
If e.IsFocusCell Then
    If e.Col.Name="公司" Then
        Dim tb As New DropTreeBuilder
        tb.SourceTable = DataTables("原料采购") \'指定目录树表
        tb.TreeCols = "公司|合同号|牌号" \'指定用于生成目录树的列
        tb.SourceCols = "合同号|公司|代码|牌号|厚度|宽度|重量|提货方式|合同主号" \'指定数据来源列
        tb.ReceiveCols = "合同号|公司|代码|牌号|厚度|宽度|重量|提货方式|合同主号" \'指定数据接收列
        tb.TreeWidth=250
        tb.TreeFilter="[审核]=False"
        Tables("原料采购入库通知明细").Cols("公司").DropTree = tb.Build()
    End If
End If

用此代码生成的目录树没有问题,但在窗口中很容易引起死机,比如我先选定公司列所在的单元格,然后按窗口中按钮“删除”,“删除”按钮的代码如下:
Dim Result As DialogResult
Result = MessageBox.Show("确认删除吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    Tables("原料采购入库通知明细").Current.Delete
End If
按了“删除”后就死机了,问题应该是出在弹出框上,我应该如何解决此问题,请老师指导一下。

--  作者:有点甜
--  发布时间:2014/12/16 14:07:00
--  

 那这段代码,写到click事件里去,或者currentTableChanged事件

 

    If e.Col.Name="公司" Then

        Dim tb As New DropTreeBuilder
        tb.SourceTable = DataTables("原料采购") \'指定目录树表
        tb.TreeCols = "公司|合同号|牌号" \'指定用于生成目录树的列
        tb.SourceCols = "合同号|公司|代码|牌号|厚度|宽度|重量|提货方式|合同主号" \'指定数据来源列
        tb.ReceiveCols = "合同号|公司|代码|牌号|厚度|宽度|重量|提货方式|合同主号" \'指定数据接收列
        tb.TreeWidth=250
        tb.TreeFilter="[审核]=False"
        Tables("原料采购入库通知明细").Cols("公司").DropTree = tb.Build()
    End If