Foxtable(狐表)用户栏目专家坐堂 → 父表触发


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

主题:父表触发

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


加好友 发短信
等级:幼狐 帖子:93 积分:1029 威望:0 精华:0 注册:2018/4/28 23:27:00
父表触发  发帖心情 Post By:2018/9/9 16:41:00 [只看该作者]

各位老师:
我在关联明细副表“产品名称”列是通过Parent(主表订单).客户名称引用的,我想触发副表“产品名称”列,
在主表订单DataColChanged写入了如下代码:
If e.DataCol.name = "产品名称" Then
    Dim pr As DataRow = e.DataRow.GetParentRow("订单明细表") '找出对应的父行
    If pr IsNot Nothing Then
        DataTables("订单明细表").DataCols("产品名称").RaiseDataColChanged(pr)  '通知系统此父行的数量列发生了改变,触发DataColChanged事件
    End If
End If
但发现不能使用,有没有更好的代码,谢谢

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


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

直接说明你想做什么功能吧。


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


加好友 发短信
等级:幼狐 帖子:93 积分:1029 威望:0 精华:0 注册:2018/4/28 23:27:00
  发帖心情 Post By:2018/9/9 17:56:00 [只看该作者]

在副表中需要通过触发产品名称,获得产品单价。
表事件:
If e.DataCol.Name = "产品名称" Then '发生变化的是产品编号吗?
    '在产品表找出该产品
    Dim dz As DataRow
    dz = DataTables("产品信息").Find("产品名称 = '" & e.DataRow("产品名称") & "'" )
    If dz IsNot Nothing '如果找到, 则设置各列内容
        e.DataRow("产品型号")= dz("产品型号")
        e.DataRow("产品单价")= dz("产品单价")
            End If
End If '自动引用产品型号和单位

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


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

1、表达式列,是不会触发datacolchanged事件的。

 

2、如果要强制触发,父表datacolchanged事件这样写

 

 msgbox(123)

 DataTables("订单明细表").DataCols("产品名称").RaiseDataColChanged("产品名称 = '" & e.DataRow("产品名称") & "'")


 回到顶部