Foxtable(狐表)用户栏目专家坐堂 → 请教动态目录树列表问题!


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

主题:请教动态目录树列表问题!

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


加好友 发短信
等级:幼狐 帖子:60 积分:575 威望:0 精华:0 注册:2013/4/17 19:15:00
请教动态目录树列表问题!  发帖心情 Post By:2015/1/18 10:33:00 [只看该作者]

ylx表与ylxzy表以"xmbh"关联,用于表达式汇总数据。

pz表与ylxly表以pzbh关联。

在ylxzy表的xmbh列属性中将ylx表列为目录树表,设置为:目录树列nd|xmbh、数据来源列cs|dw|cgr|nd|xmbh、数据接收列cs|dw|cgr|nd|xmbh。

为解决目录树列自动更新问题,参照http://www.foxtable.com/help/index.html?n=2127.htm,将项目MainTableChanged事件设置为:

If MainTable.Name = "ylxly" Then
    Dim tb1 As New DropTreeBuilder
    tb1.SourceTable = DataTables("ylx") '指定目录树表
    tb1.TreeCols = "nd|xmbh" '指定用于生成目录树的列
    tb1.SourceCols = "cs|dw|cgr|nd|xmbh" '指定数据来源列
    tb1.ReceiveCols = "cs|dw|cgr|nd|xmbh" '指定数据接收列
    Tables("ylxly").Cols("xmbh").DropTree = tb1.Build()
End If

完成后,在在ylxzy表中增加行时,目录树列自动更新;在窗口pz.ylxzy表中增加行时,目录树列不能自动更新!

如何解决?请指教,谢谢!


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


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

 这段代码写到prepareEdit事件即可

 

    Dim tb1 As New DropTreeBuilder
    tb1.SourceTable = DataTables("ylx") '指定目录树表
    tb1.TreeCols = "nd|xmbh" '指定用于生成目录树的列
    tb1.SourceCols = "cs|dw|cgr|nd|xmbh" '指定数据来源列
    tb1.ReceiveCols = "cs|dw|cgr|nd|xmbh" '指定数据接收列
    Tables("ylxly").Cols("xmbh").DropTree = tb1.Build()

[此贴子已经被作者于2015-1-18 11:02:10编辑过]

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


加好友 发短信
等级:幼狐 帖子:60 积分:575 威望:0 精华:0 注册:2013/4/17 19:15:00
  发帖心情 Post By:2015/1/18 11:34:00 [只看该作者]

 

没有成功!

我操作两次,分别在子表和项目全局表事件将DataColChanged事件设为以上代码。

有什么差错吗?


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


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

 改成,写到prepareEdit事件啊

 

    Dim tb1 As New DropTreeBuilder
    tb1.SourceTable = DataTables("ylx") '指定目录树表
    tb1.TreeCols = "nd|xmbh" '指定用于生成目录树的列
    tb1.SourceCols = "cs|dw|cgr|nd|xmbh" '指定数据来源列
    tb1.ReceiveCols = "cs|dw|cgr|nd|xmbh" '指定数据接收列
    e.Table.Cols("xmbh").DropTree = tb1.Build()


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


加好友 发短信
等级:幼狐 帖子:60 积分:575 威望:0 精华:0 注册:2013/4/17 19:15:00
  发帖心情 Post By:2015/1/18 12:39:00 [只看该作者]

问题已解决。但是速度极慢,计算机跟死机一样!


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


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

 回复5楼,你要判断列名

 

If e.IsFocusCell AndAlso e.Col.Name = "xmbh" Then

    '生成代码

End If


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


加好友 发短信
等级:幼狐 帖子:60 积分:575 威望:0 精华:0 注册:2013/4/17 19:15:00
  发帖心情 Post By:2015/1/18 16:02:00 [只看该作者]

问题解决,万分感谢!

 回到顶部