Foxtable(狐表)用户栏目专家坐堂 → [求助]同一段程序在同一目录树下不同事件为什么运行速度完全不一样呢?


  共有11072人关注过本帖树形打印复制链接

主题:[求助]同一段程序在同一目录树下不同事件为什么运行速度完全不一样呢?

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/12/20 9:19:00 [显示全部帖子]

原因很清楚啊,上面的代码是从后台加载数据生成表,再根据这个表生成目录树,这是一个相当耗时的工作,怎么能设置在NodeMouseDoubleClick事件中呢?

而且有必要每次双击鼠标,就重新生成整个目录树吗?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/12/20 10:07:00 [显示全部帖子]

另外加个刷新按钮:

 

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/12/20 10:33:00 [显示全部帖子]

做个简单的例子传上来的,将窗口和代码设计好。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/12/20 11:27:00 [显示全部帖子]

Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
Dim nd1 As WinForm.TreeNode
Dim nd2 As WinForm.TreeNode
Dim nd3 As WinForm.TreeNode
Dim cmd As New SQLCommand,cmd1 As New SQLCommand
Dim dt As DataTable,dt1 As DataTable

cmd.C
cmd1.C
cmd.CommandText = "SELECT * From {库存} "
dt = cmd.ExecuteReader

Dim ia As Integer=0
tv.Nodes.Clear
tv.BuildTree(dt, "仓库类别|料品大类|料品编码")

Dim tt As DataRow
Ctype(tv.baseControl,Windows.Forms.Treeview).BeginUpdate
For Each g1 As WinForm.TreeNode In tv.Nodes
    For Each g2 As WinForm.TreeNode In g1.Nodes
        For Each g3 As WinForm.TreeNode In g2.Nodes
            tt=dt.find("料品编码='" & g3.name & "' AND 仓库类别='" & g1.text & "'")
            If tt IsNot Nothing Then
                g3.Text= tt("料品编码") & "/" & tt("料品中类")  & "/" & tt("料品名称") & "/" & tt("规格")
            End If
        Next
    Next
Next
Ctype(tv.baseControl,Windows.Forms.Treeview).EndUpdate

nd = tv.Nodes.Insert("加载全部记录","加载全部记录",0)


 回到顶部