Foxtable(狐表)用户栏目专家坐堂 → 关于目录树的应用


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

主题:关于目录树的应用

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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/20 14:28:00 [显示全部帖子]

代码改改放到表格BeforeSelChange事件

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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/20 15:30:00 [显示全部帖子]

怎么改的,发上来看看

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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/20 15:48:00 [显示全部帖子]

只能说都没有认真的看看BeforeSelChange帮助的说明

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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/20 15:54:00 [显示全部帖子]

If e.OldRange.RowSel <> e.NewRange.RowSel Then'如果选择的是不同的行
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then '而且原来选择的是一个有效的数据行
        Dim r As Row = e.Table.Rows(e.NewRange.Rowsel) '获得新选择的行
        Dim zfc As String = r("科目编码") 
        If zfc = "材料费" Then
            Dim tb1 As New DropTreeBuilder
            tb1.SourceTable = DataTables("材料价格系统") '指定目录树表
            tb1.TreeSort = "材料排序"
            tb1.TreeCols = "材料类别|材料类别2|备注" '指定用于生成目录树的列
            tb1.SourceCols = "材料类别|材料类别2|材料名称|单位|单价|备注" '指定数据来源列
            tb1.ReceiveCols = "辅助列1|辅助列2|项目构成|单位|单价|备注" '指定数据接收列
            e.Table.Cols("项目构成").DropTree = tb1.Build()
        ElseIf zfc = "人工费" Then
            Dim tb2 As New DropTreeBuilder
            tb2.SourceTable = DataTables("人工费系统") '指定目录树表
            tb2.TreeCols = "幕墙形式|幕墙类别|人工费" '指定用于生成目录树的列
            tb2.SourceCols = "幕墙形式|幕墙类别|人工费|单位|单价" '指定数据来源列
            tb2.ReceiveCols = "辅助列1|辅助列2|项目构成|单位|单价" '指定数据接收列
            e.Table.Cols("项目构成").DropTree = tb2.Build()
        ElseIf zfc = "机械费" Or zfc = "间接费" Or zfc = "利润" Or zfc = "税金" Then
            Dim tb3 As New DropTreeBuilder
            tb3.SourceTable = DataTables("比率") '指定目录树表
            tb3.TreeCols = "类别|名称" '指定用于生成目录树的列
            tb3.SourceCols = "名称|类别|比率系数" '指定数据来源列
            tb3.ReceiveCols = "项目构成|辅助列1|比率系数"'指定数据接收列
            e.Table.Cols("项目构成").DropTree = tb3.Build()
        End If
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/20 16:02:00 [显示全部帖子]

能不能自动更新,自己测试不就知道了。

如果一个事件就能解决所有的问题,Foxtable有何必搞那么多事件。换句话说这个世间也没有必要搞那么多的编程语言了,一个记事本把所有机器码都录进去就完事了。有这种想法的人估计都是生存在矩阵里的

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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/9/20 16:51:00 [显示全部帖子]

试试就知道了,有问题再说

 回到顶部