以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何将表的DataColChanged事件代码转为窗口上的事件?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=186159)

--  作者:lin98
--  发布时间:2023/4/10 10:40:00
--  如何将表的DataColChanged事件代码转为窗口上的事件?

在用非WIN的数据库,服务器时,如MYSQL外部数据源的表没有表属性,


如何将下面代码转为窗口事件,比如窗口打开事件,实现批量、遍历操作?


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

2、将产品表的DataRowDeleting事件代码设置为:

Dim dr As DataRow = DataTables("库存").Find("产品编号 = \'" & e.DataRow("产品编号") & "\'")
If
 dr IsNot Nothing Then
    dr.
Delete()

End
 If


--  作者:有点蓝
--  发布时间:2023/4/10 10:47:00
--  
建议使用sql处理,比如:http://c.biancheng.net/view/8286.html