以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 表A已经选取表B的主键字段,希望自动引用表B主键对应的单价 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101978) |
||||
-- 作者:chengjingliang -- 发布时间:2017/6/11 8:52:00 -- 表A已经选取表B的主键字段,希望自动引用表B主键对应的单价 表A已经选取表B的主键字段,希望自动引用表B主键对应的单价,单价要随表B变化而变化 |
||||
-- 作者:有点色 -- 发布时间:2017/6/11 14:55:00 -- 参考
http://www.foxtable.com/webhelp/scr/1453.htm
|
||||
-- 作者:chengjingliang -- 发布时间:2017/6/12 13:45:00 -- 关联表之间可以实现,为什么非关联表之间实现不了,怎么实现 关联表之间可以实现,为什么非关联表之间实现不了,怎么实现 |
||||
-- 作者:有点色 -- 发布时间:2017/6/12 14:13:00 -- 以下是引用chengjingliang在2017/6/12 13:45:00的发言:
关联表之间可以实现,为什么非关联表之间实现不了,怎么实现
关联表或非关联表都可以实现,代码一模一样。如果有问题,举例说明。 |
||||
-- 作者:chengjingliang -- 发布时间:2017/6/16 23:54:00 -- 为什么清单明细表内综合单价列,不能随工料单价表内综合单价列变化而变化? 为什么清单明细表内综合单价列,不能随工料单价表内综合单价列变化而变化?
If e.DataCol.Name = "综合单价" Dim Filter As String = "[工料名称] = \'" & e.DataRow("工料名称") & "\' And 完成否= False" Dim drs As List(Of DataRow) = DataTables("清单明细").Select(Filter) For Each dr As DataRow In drs If dr.Locked = False Then DataTables("工料明细").DataCols("工料名称").RaiseDataColChanged(dr) End If Next End If If e.DataCol.Name = "工料ID" Then If e.NewValue Is Nothing Then e.DataRow("综合单价") = Nothing Else Dim dr As DataRow dr = DataTables("工料单价").Find("[工料ID] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("综合单价") = dr("综合单价") End If End If End If Select Case e.DataCol.Name Case "综合单价" Dim Filter As String = "[工料ID] = \'" & e.DataRow("工料ID") & "\'" Dim drs As List(Of DataRow) = DataTables("清单明细").Select(Filter) For Each dr As DataRow In drs dr(e.DataCol.Name) = e.NewValue Next End Select |
||||
-- 作者:有点蓝 -- 发布时间:2017/6/17 9:01:00 -- 工料单价datacolchanged If e.DataCol.Name = "工料单价" Dim Filter As String = "[工料ID] = \'" & e.DataRow("工料ID") & "\'" Dim drs As List(Of DataRow) = DataTables("工料明细").Select(Filter) For Each dr As DataRow In drs dr("工料单价") = e.DataRow("工料单价") Next drs = DataTables("清单明细").Select(Filter) For Each dr As DataRow In drs If dr.Locked = False Then dr("综合单价") = e.DataRow("工料单价") End If Next End If 清单明细datacolchanged If e.DataCol.Name = "工料ID" Then If e.NewValue Is Nothing Then e.DataRow("综合单价") = Nothing Else Dim dr As DataRow dr = DataTables("工料单价").Find("[工料ID] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("综合单价") = dr("综合单价") End If End If End If Select Case e.DataCol.Name Case "综合单价" Dim Filter As String = "[工料ID] = \'" & e.DataRow("工料ID") & "\'" Dim drs As List(Of DataRow) = DataTables("清单明细").Select(Filter) For Each dr As DataRow In drs dr(e.DataCol.Name) = e.NewValue Next End Select |