以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]引用问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71065)

--  作者:linswcfr
--  发布时间:2015/7/4 9:30:00
--  [求助]引用问题

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目13.foxdb

 

工单新增一行时,在窗体上填入BOM母件编码,点生成,生成对应的BOM子件

1、如何防止重复生成

2、窗体上母件编码变更后,再点生成,删除已生成的数据行,重新生成

 


--  作者:狐狸爸爸
--  发布时间:2015/7/4 9:44:00
--  
1、

Dim jzr As Integer = e.form.Controls("TextBox2").Value
Dim b1 As WinForm.Control=e.form.Controls("Button1")
Dim t As WinForm.Control = e.form.Controls("TextBox2")
If Tables("工单主表.工单子表").Rows.Count > 0 Then
     MessageBox.show("已经生成过了")
     Return
End If
For Each dr1 As DataRow In DataTables("BOM子表").Select("BOM母件编码  = " & jzr )
        Dim r2 As Row = Tables("工单主表.工单子表").AddNew()
        r2("BOM子件编码")=dr1("BOM子件编码")
        r2("用料名称")=dr1("子件名称")
        r2("比例")=dr1("用料比例")
Next
\'b1.Enabled=False

2、工单主表的DataColChanging事件(注意不是DataColChanged):

Select Case e.DataCol.name
    Case "BOM母件编码"
        Dim drs As List(of DataRow) = e.DataRow.GetChildRows("工单子表")
        For Each dr As DataRow In drs
            dr.Delete
        Next
End Select

--  作者:linswcfr
--  发布时间:2015/7/4 9:54:00
--  
谢谢狐狸爸爸