Foxtable(狐表)用户栏目专家坐堂 → 删除子表行非常慢处是什么原因?


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

主题:删除子表行非常慢处是什么原因?

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


加好友 发短信
等级:童狐 帖子:250 积分:1813 威望:0 精华:0 注册:2012/6/28 13:53:00
  发帖心情 Post By:2018/2/24 16:54:00 [只看该作者]

目录树不能自动更新,如:当我在工料单价表筛选树图木舒克项目中增加一个材料,在清单子表清单明细表工料一类选取目录树,找不到新增的材料

 回到顶部
帅哥,在线噢!
有点蓝
  32楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107029 积分:544376 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/2/24 17:22:00 [只看该作者]

目录树不会自动更新的,要重新生成

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


加好友 发短信
等级:童狐 帖子:250 积分:1813 威望:0 精华:0 注册:2012/6/28 13:53:00
  发帖心情 Post By:2018/2/24 18:04:00 [只看该作者]

28:项目事件CurrentTableChanged目的是自动更新,删除是不是不好自动更新了?修改代码还请老师指教

 

29

  <!--[if gte vml 1]> <![endif]--><!--[if !vml]-->发帖心情<!--[endif]--> Post By2018/2/13 10:51:00 [只看该作者
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

1、看26楼、27楼。

 

2prepareEdit写了代码,就不需要再自动更新了,删除那些代码。

 

3、如果想保留,请加上treeFilter的条件。



请教:这个项目如何修改为自动更新呢?
[此贴子已经被作者于2018/2/24 18:07:36编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/25 9:46:00 [只看该作者]

以下是引用chengjingliang在2018/2/24 18:04:00的发言:

请教:这个项目如何修改为自动更新呢?
[此贴子已经被作者于2018/2/24 18:07:36编辑过]

 

你可以保留 CurrentTableChanged 事件的代码,代码加上treeFilter的条件即可。


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


加好友 发短信
等级:童狐 帖子:250 积分:1813 威望:0 精华:0 注册:2012/6/28 13:53:00
  发帖心情 Post By:2018/2/26 8:44:00 [只看该作者]

水平有限,还请有点甜老师帮忙!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/26 9:03:00 [只看该作者]

以下是引用chengjingliang在2018/2/26 8:44:00的发言:
水平有限,还请有点甜老师帮忙!

 

比如,只是加上红色代码

 

Dim tb As New DropTreeBuilder

tb.SourceTable = DataTables("工料单价") '指定目录树表

tb.TreeFilter="项目id='" & Tables("清单.清单明细").Current("项目id") & "'"

tb.TreeCols = "工料一类|工料二类|工料名称" '指定用于生成目录树的列

tb.SourceCols = "工料一类|工料二类|工料名称|工料单位|工料ID|工料计划价" '指定数据来源列

tb.ReceiveCols = "工料一类|工料二类|工料名称|工料单位|工料ID|工料计划价" '指定数据接收列

Tables("清单.清单明细").cols("工料一类").DropTree = tb.Build()


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


加好友 发短信
等级:童狐 帖子:250 积分:1813 威望:0 精华:0 注册:2012/6/28 13:53:00
  发帖心情 Post By:2018/2/26 13:38:00 [只看该作者]

修改后可以实现,但出现新问题,在清单子表清单明细表新增行时候,出现错误

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.12.31.1
错误所在事件:项目,CurrentTableChanged
详细错误信息:
未将对象引用设置到对象的实例。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/26 15:00:00 [只看该作者]

回复37楼,修改代码,注意红色代码

 

If Tables("清单.清单明细").Current IsNot Nothing Then
    Dim tb As New DropTreeBuilder
   
    tb.SourceTable = DataTables("工料单价") '指定目录树表
   
    tb.TreeFilter="项目id='" & Tables("清单.清单明细").Current("项目id") & "'"
   
    tb.TreeCols = "工料一类|工料二类|工料名称" '指定用于生成目录树的列
   
    tb.SourceCols = "工料一类|工料二类|工料名称|工料单位|工料ID|工料计划价" '指定数据来源列
   
    tb.ReceiveCols = "工料一类|工料二类|工料名称|工料单位|工料ID|工料计划价" '指定数据接收列
   
    Tables("清单.清单明细").cols("工料一类").DropTree = tb.Build()
End If


 回到顶部
总数 38 上一页 1 2 3 4