Foxtable(狐表)用户栏目专家坐堂 → 目录树双击筛选


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

主题:目录树双击筛选

帅哥哟,离线,有人找我吗?
实话实说
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2010/12/11 19:57:00 [只看该作者]

没问题了,我再慢慢消化和优化。

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2010/12/11 23:00:00 [只看该作者]

修改了[材料]表的"单价",[用料]表的单价为什么不更新呢?以下是[材料]表属性DataColChanged事件代码

 

Select Case e.DataCol.Name
    Case "材料分类","材料名称","型号规格"
        Dim crs As List(of DataRow) = e.DataRow.GetChildRows("用料")
        For Each cr As DataRow In crs
            cr("单价") = e.DataRow("单价")
        Next
End Select


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/12/12 1:49:00 [只看该作者]

狐表贤弟啊~     你就没有对单价列来触发事件嘛:

Select Case e.DataCol.Name
    Case "单价"
        Dim crs As List(of DataRow) = e.DataRow.GetChildRows("用料")
        For Each cr As DataRow In crs
            cr("单价") = e.DataRow("单价")
        Next
End Select

[此贴子已经被作者于2010-12-12 1:53:51编辑过]

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


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

如果你采用了关联,而且通过这三列关联的,那么下面的代码是不需要的:

 

Select Case e.DataCol.Name
    Case "材料分类","材料名称","型号规格"
        Dim crs As List(of DataRow) = e.DataRow.GetChildRows("用料")
        For Each cr As DataRow In crs
            cr("单价") = e.DataRow("单价")
        Next
End Select

 

因为子表关联列会自动更新,只有单价才需要啊:

 

Select Case e.DataCol.Name
    Case "单价"
        Dim crs As List(of DataRow) = e.DataRow.GetChildRows("用料")
        For Each cr As DataRow In crs
            cr("单价") = e.DataRow("单价")
        Next
End Select

 

不管有多少个单价这样的子表列需要更新,都只需同样的代码,例如子表A、B、C、D四列需要从父表继承:

 

Select Case e.DataCol.Name
    Case "a","b","c","d"
        Dim crs As List(of DataRow) = e.DataRow.GetChildRows("用料")
        For Each cr As DataRow In crs
            cr(e.DataCol.name) = e.DataRow(e.DataCol.Name)
        Next
End Select

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/12 22:03:00 [只看该作者]

你改不改都无所谓了,我上午修正了一下程序,让子表引用父表数据基本不影响父表的筛选和排序操作,至少影响非常轻微。

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