Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
请帮手解决如下问题:
1。如何在“功能分类”窗口中实现新增(或修改)记录后,左边的目录树项目同步更新。在那里设置。
2。请试一下点窗口中“刷新”,点一下要时间很长,,可或帮手看一下公式是否出错。(其实也是上一个问题)只不过我将“重置功能”换一下按钮命。发现更新要很长时间。
3。请试一下新增一个记录。。发现“科目全称”不会自动更新。可否帮手设置一下。
4.如何关闭关联窗口。。。只显自己设置的窗口
下载信息 [文件大小: 下载次数: ] | |
![]() |
1、可以再加个按钮,还用窗口属性中的代码:e.Form.Controls("TreeView1").BuildTree("功能分类","功能分类_类|功能分类_款|功能分类_项")
2、两种方法,一,直接改在按钮中用进行计算。二,fill到辅助表进行计算,估计用fill时间会更短。
3、窗口中有两个新增按钮,不知所指哪一个?
4、右击关联表,停靠设置,去掉自动打开前面的勾即可。
3Q
楼主,你功能分类表的DataColChanged事件代码非常糟糕,DataColChanged事件通常只处理发生变化的行,而你的代码处理表中所有的行。
如果你有1万行,某行发生变化,常规的DataColChanged代码就是处理此行而已,而你却要处理整个1万行。如果执行RaseDtaColChanged事件的话,等于就处理了1万*1万,也就是1亿次。
也就是说,你目前的代码,效率比常规差了一万倍,不慢是不正常的。
我帮你将代码稍微改看一下,细节你再自己调整,修改后你会发现,下载刷新一次是瞬间完成的:
If e.DataCol.Name = "功能分类_代码" Then
Dim dr,dr0,dr1 As DataRow
dr = e.DataRow
If dr("功能分类_代码").length= 3
dr("科目全称") = dr("功能分类_科目名称")
dr("功能分类_类") = dr("功能分类_代码") & ":" & dr("功能分类_科目名称")
ElseIf dr("功能分类_代码").length = 5
dr0 = DataTables("功能分类").Find("[功能分类_代码] = '" & left(dr("功能分类_代码"),3) & "'")
If dr0 IsNot Nothing
dr("科目全称") = dr0("功能分类_科目名称") & "-" & dr("功能分类_科目名称")
dr("功能分类_类") = dr0("功能分类_代码") & ":" & dr0("功能分类_科目名称")
dr("功能分类_款") = dr("功能分类_代码") & ":" & dr("功能分类_科目名称")
End If
ElseIf dr("功能分类_代码").length = 7
dr0 = DataTables("功能分类").Find("[功能分类_代码] = '" & left(dr("功能分类_代码"),3) & "'")
dr1 = DataTables("功能分类").Find("[功能分类_代码] = '" & left(dr("功能分类_代码"),5) & "'")
If dr1 IsNot Nothing
dr("科目全称") = dr0("功能分类_科目名称") & "-" & dr1("功能分类_科目名称") & "-" & dr("功能分类_科目名称")
dr("功能分类_类") = dr0("功能分类_代码") & ":" & dr0("功能分类_科目名称")
dr("功能分类_款") = dr1("功能分类_代码") & ":" & dr1("功能分类_科目名称")
dr("功能分类_项") = dr("功能分类_代码") & ":" & dr("功能分类_科目名称")
End If
End If
End If
DataColChanged事件代码是FoxTable的核心,非常重要,一个项目的大部分代码会写在这里,务必要了解其作用原理。
另科目名称不能自动更新是什么意思?