以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  所有表事件是不是只对加载的数据起作用?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=30387)

--  作者:zpx_2012
--  发布时间:2013/3/27 9:09:00
--  所有表事件是不是只对加载的数据起作用?

在填写出库单的明细表时,订单明细的数量列设置了如下代码:

If e.DataCol.name = "数量" Then
    If e.OldValue <> e.NewValue Then  
        Dim pr As DataRow
        pr = DataTables("订单明细").Find("[产品编码] = \'" & e.DataRow("产品编码") & "\'"& _
        " And 订单编号 = \'" & e.DataRow("来源单号") & "\'")
        If pr IsNot Nothing Then
            DataTables("订单明细").DataCols("产品编码").RaiseDataColChanged(pr)
        End If
    End If
End If

目的是在出库单中的数量改变时更新订单明细表中的累计出库数量,但好象不起作用。

 

我想问的是:

1、如果此时订单明细表没有加载,蓝色的代码是不是一定找不到想要的数据,必须改用Select语句从后台查找?

2、如果用select语句从后台找到了数据,是不是也必须加载查到的数据下面红色这行代码的RaiseDataColChanged

    才会起作用?

3、即是不是所有的表事件都只是针对加载的数据有效?

 

谢谢!