以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  MYSQL表的属性如何实现  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186135)

--  作者:lin98
--  发布时间:2023/4/8 14:30:00
--  MYSQL表的属性如何实现

MYSQL没有这二个表的属性,DataColChanged事件,直接引用肯是错,如果要写在全局件怎么改?


MYSQL如何实现下面代码的功能?


8、将订单表的DataColChanged事件代码设置为:

Select Case e.DataCol.Name
    Case "产品编号"
        Dim pr As DataRow = e.DataRow.GetParentRow("产品")
        If pr IsNot Nothing Then
            e.DataRow("单价") = pr("单价")
        End 
If

End
 Select

这样在订单表输入产品编号,会自动从产品表中找出对应的产品,然后取其单价填入到订单表的单价列中。

9、将产品表的DataColChanged事件代码设置为:

If e.DataCol.Name = "单价" Then \'更新未确认订单的单价
    Dim drs As List(of DataRow)
    drs = e.DataRow.GetChildRows("订单")
    
For Each dr As DataRow In drs
        
If dr("确认") = False Then
            dr("单价") = e.DataRow("单价")
        End If
    
Next

End
 If

这样在产品表修改某产品的单价,系统会找出订购此产品的全部订单,然后并将未确认订单的单价更新为新的单价。




--  作者:有点蓝
--  发布时间:2023/4/8 15:02:00
--  
换种用法,比如:http://www.foxtable.com/webhelp/topics/2490.htm
--  作者:lin98
--  发布时间:2023/4/8 15:44:00
--  
MYSQL数据源在狐表没有DataColChanged事件代码设置为:

这个代码要写在全局表的DataColChanged事件?MYSQL数据源在狐表没有产品表DataColChanged事件,如何改代码?

1、将产品表的DataColChanged事件代码设置为:

Select Case e.DataCol.name
    Case "产品编号"
        Dim dr As DataRow = DataTables("库存").Find("产品编号 = \'" & e.OldValue & "\'")
        
If dr Is Nothing Then
            dr = DataTables(
"
库存").AddNew()
            dr(
"
产品编号") = e.DataRow("产品编号")
            dr(
"
产品名称") = e.DataRow("产品名称")
            dr(
"
产品规格") = e.DataRow("产品规格")
        Else
            dr(
"
产品编号") = e.DataRow("产品编号")
        End If
    Case 
"
产品名称","产品规格"
        Dim dr As DataRow = DataTables(
"
库存").Find("产品编号 = \'" & e.DataRow("产品编号") & "\'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        
End If
End
 Select


--  作者:有点蓝
--  发布时间:2023/4/8 17:07:00
--  
写在全局表的DataColChanged事件,加上表名判断即可,其它用法没有区别