Foxtable(狐表)用户栏目专家坐堂 → 如何同步更新目录树内容


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

主题:如何同步更新目录树内容

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


加好友 发短信
等级:幼狐 帖子:126 积分:1437 威望:0 精华:0 注册:2009/1/27 10:06:00
如何同步更新目录树内容  发帖心情 Post By:2011/4/9 23:41:00 [只看该作者]

请帮手解决如下问题:

  1。如何在“功能分类”窗口中实现新增(或修改)记录后,左边的目录树项目同步更新。在那里设置。

  2。请试一下点窗口中“刷新”,点一下要时间很长,,可或帮手看一下公式是否出错。(其实也是上一个问题)只不过我将“重置功能”换一下按钮命。发现更新要很长时间。

  3。请试一下新增一个记录。。发现“科目全称”不会自动更新。可否帮手设置一下。

  4.如何关闭关联窗口。。。只显自己设置的窗口

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:如何同步更新.rar


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/4/10 11:26:00 [只看该作者]

1、可以再加个按钮,还用窗口属性中的代码:e.Form.Controls("TreeView1").BuildTree("功能分类","功能分类_类|功能分类_款|功能分类_项")

2、两种方法,一,直接改在按钮中用进行计算。二,fill到辅助表进行计算,估计用fill时间会更短。

3、窗口中有两个新增按钮,不知所指哪一个?

4、右击关联表,停靠设置,去掉自动打开前面的勾即可。


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/4/10 11:37:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:如何同步更新.rar

除上述方法外,还可能更改你的原代码,不过我没时间帮你搞。

 

 


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


加好友 发短信
等级:幼狐 帖子:126 积分:1437 威望:0 精华:0 注册:2009/1/27 10:06:00
  发帖心情 Post By:2011/4/10 12:26:00 [只看该作者]

3Q 

 


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


加好友 发短信
等级:幼狐 帖子:126 积分:1437 威望:0 精华:0 注册:2009/1/27 10:06:00
  发帖心情 Post By:2011/4/10 12:44:00 [只看该作者]

新增是左边目录树的那个。。。

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/4/10 17:13:00 [只看该作者]

楼主,你功能分类表的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的核心,非常重要,一个项目的大部分代码会写在这里,务必要了解其作用原理。

另科目名称不能自动更新是什么意思?

[此贴子已经被作者于2011-4-10 17:20:41编辑过]

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


加好友 发短信
等级:幼狐 帖子:126 积分:1437 威望:0 精华:0 注册:2009/1/27 10:06:00
  发帖心情 Post By:2011/4/10 22:20:00 [只看该作者]

我照老六的改了下,上传给大家看看,以后不明多指点。。。。。。。。。。。。。。。。

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


加好友 发短信
等级:幼狐 帖子:126 积分:1437 威望:0 精华:0 注册:2009/1/27 10:06:00
  发帖心情 Post By:2011/4/11 20:31:00 [只看该作者]

晕文件怎么就是传不上去

 回到顶部