以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]行保存后,再执行DataColChanged  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=151006)

--  作者:miaoqingqing
--  发布时间:2020/6/12 15:11:00
--  [求助]行保存后,再执行DataColChanged
网络编号,生成临时编号,就执行下面代码在 中间表 新增行,不是想要的效果。如何加一个 新增行保存后,再执行下面代码
Select Case e.DataCol.name
    Case "计划编号","成果编号"
        If e.DataRow.IsNull("计划编号") = False AndAlso e.DataRow.IsNull("成果编号") = False Then
            Dim fdr As DataRow = DataTables("中间表").Find("计划编号 = \'" & e.DataRow("计划编号") & "\' and 成果编号 = \'" & e.DataRow("成果编号") & "\'")
            If fdr Is Nothing Then
                Dim ndr As DataRow = DataTables("中间表").addnew
                ndr("计划编号") = e.DataRow("计划编号")
                ndr("成果编号") = e.DataRow("成果编号")
            End If
        End If
End Select

[此贴子已经被作者于2020/6/12 15:11:01编辑过]

--  作者:有点蓝
--  发布时间:2020/6/12 15:46:00
--  
这个意思?

            If fdr Is Nothing Then
                Dim ndr As DataRow = DataTables("中间表").addnew
                ndr("计划编号") = e.DataRow("计划编号")
                ndr("成果编号") = e.DataRow("成果编号")
ndr.save
            End If

--  作者:miaoqingqing
--  发布时间:2020/6/12 16:41:00
--  回复:(有点蓝)这个意思?      &nbs...
不是,1楼代码是,成果台账,新增行时,网络编号生成临时成果编号,中间表就新增行,生成临时成果编号,不是想要的结果。想实现成果台账行保存后,固定的成果编号,才在中间表生成
--  作者:有点蓝
--  发布时间:2020/6/12 16:46:00
--  

在DataRowAdded事件中设置代码:

e.DataRow.Save()

[此贴子已经被作者于2020/6/12 16:45:46编辑过]

--  作者:miaoqingqing
--  发布时间:2020/6/12 16:57:00
--  回复:(有点蓝)在DataRowAdded事件中设置代码:e.Da...
上楼代码放在 成果台账 表,还是 中间表?

我是想 加一个判断,成果台账,当前行,判断如果已经保存,再执行1楼代码
不懂怎么加这个判断

--  作者:有点蓝
--  发布时间:2020/6/12 17:17:00
--  
参考:http://www.foxtable.com/webhelp/topics/0428.htm

if e.DataRow.RowState = DataRowState.Unchanged then