以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动生成行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=137778)

--  作者:13775189031
--  发布时间:2019/7/15 15:58:00
--  自动生成行
请教
If e.Col.Name = "处置_代用" AndAlso e.Row(e.Col.Name) = True Then
    Dim cr As Row = e.Row
    Dim nr As Row = e.Table.addnew
    nr("进料表编号") = cr("进料表编号")
    nr("机组") = cr("机组")
    nr("规格") = cr("处置_代用_规格")
    nr("材质") = cr("处置_代用_材质")
    nr("长度m") = cr("处置_代用_长度m")
    nr.move(cr.index+1)
End If

"处置_代用" 列手动勾选后,按以上代码自动生成行是没有问题的,但由以下代码自动勾选"处置_代用"列后,就无法自动生成了,要怎么改代码?

Dim dr4 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "处置_代用_数量"
        If dr4.IsNull("处置_代用_数量") Then
            dr4("处置_代用") = Nothing
        Else
            dr4("处置_代用") = True
        End If
End Select

--  作者:有点蓝
--  发布时间:2019/7/15 16:17:00
--  
把第一段代码改改放到datacolchanged事件
--  作者:13775189031
--  发布时间:2019/7/15 16:24:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1563178914.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2019/7/15 16:43:00
--  
改改放到datacolchanged事件,每个事件参数都是不一样的
--  作者:13775189031
--  发布时间:2019/7/15 19:05:00
--  
请教如何修改?
Select Case e.DataCol.Name
    Case "处置_代用"
        If e.DataRow("处置_代用") = True  Then
            Dim cr As DataRow = e.DataRow
            Dim nr As Row = Tables("角钢进料表明细").addnew
            nr("进料表编号") = cr("进料表编号")
            nr("机组") = cr("机组")
            nr("规格") = cr("处置_代用_规格")
            nr("材质") = cr("处置_代用_材质")
            nr("长度m") = cr("处置_代用_长度m")
            nr("处置_代用1") = True
            nr.move(cr.index+1)
        End If
End Select


图片点击可在新窗口打开查看此主题相关图片如下:1563188560(1).png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2019/7/15 20:37:00
--  
Select Case e.DataCol.Name
    Case "处置_代用"
        If e.DataRow("处置_代用") = True  Then
            Dim cr As DataRow = e.DataRow
            Dim nr As Row = Tables("角钢进料表明细").addnew
            nr("进料表编号") = cr("进料表编号")
            nr("机组") = cr("机组")
            nr("规格") = cr("处置_代用_规格")
            nr("材质") = cr("处置_代用_材质")
            nr("长度m") = cr("处置_代用_长度m")
            nr("处置_代用1") = True
            Dim idx As Integer = Tables("角钢进料表明细").FindRow(cr)
            nr.move(idx+1)
        End If
End Select