以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  克隆行出现问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=17035)

--  作者:土佛
--  发布时间:2012/3/1 16:47:00
--  克隆行出现问题

狐爸老师,我在克隆行的时候出现下面错误的提示


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20120301162312.png
图片点击可在新窗口打开查看
被克隆行所在的表有下面的跨表增加行的代码

If e.DataCol.Name = "排产总M" Then
    If e.DataRow.IsNull("排产总M") = False Then
        If e.DataRow.GetChildRows("DWL出仓规划").Count = 0 Then
            Dim dr1 As DataRow = DataTables("DWL出仓规划").Addnew
            dr1("排产总M")= e.NewValue
            dr1("DK编码") = e.DataRow("关联仓库DK编码")
            dr1("DNP编码") = e.DataRow("DNP编码")
            dr1("DNP名称") = e.DataRow("DNP名称")
        End If
    End If
End If
如果 "排产总M"有数字的话 克隆行就出现错误
如果 "排产总M"没有数据的话 克隆就没有问题,不知道是什么原因,麻烦老师赐教


--  作者:狐狸爸爸
--  发布时间:2012/3/1 16:57:00
--  

这种问题,需要用例子说话的,单单凭上面的图片和代码,看不出问题来。

 

[此贴子已经被作者于2012-3-1 16:58:02编辑过]

--  作者:土佛
--  发布时间:2012/3/1 17:03:00
--  

我再找找原因,实在不行就搞个例子

 


--  作者:土佛
--  发布时间:2012/3/1 17:35:00
--  

老师,我上传一个例子

 

中心表与测2进行了关联,则中心表的有数据行克隆,就会出现错误提示

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


--  作者:狐狸爸爸
--  发布时间:2012/3/1 17:43:00
--  
收到,我们检查一下是怎么回事,也许有bug.
--  作者:土佛
--  发布时间:2012/3/1 17:47:00
--  

1先谢谢老师!


--  作者:土佛
--  发布时间:2012/3/2 13:36:00
--  

老师,请问这个问题今天能解决吗?


--  作者:狐狸爸爸
--  发布时间:2012/3/2 14:51:00
--  

这么改一下:

 

 

If e.DataCol.Name = "批号" AndAlso e.DataRow.RowState <> DataRowState.Detached Then
    If e.DataRow.IsNull("批号") = False Then
        If e.DataRow.GetChildRows("测2").Count = 0 Then
            Dim dr As DataRow = DataTables("测2").Addnew
            dr("批号")= e.NewValue
        End If
    End If
End If


--  作者:土佛
--  发布时间:2012/3/2 15:53:00
--  

OK了,很感谢狐爸的帮助

还有一问题要麻烦狐爸帮我修正一下,总是出现


此主题相关图片如下:qq截图20120302155219.png
按此在新窗口浏览图片
代码是:

If e.IsFocusCell Then

    If e.Col.Name = "DWLSX名称" Then

        Dim tb As New DropTreeBuilder

        tb.SourceTable = DataTables("NP成本")

        tb.TreeCols = "DWLSX名称|附属DWLSX名称"

        tb.SourceCols = "DG编码|DG简称|DWLSX编码|DWLSX名称|附属DG编码|附属DG简称|附属DWLSX编码|附属DWLSX名称"

        tb.ReceiveCols = "DG编码|DG简称|DWLSX编码|DWLSX名称|附属DG编码|附属DG简称|附属DWLSX编码|附属DWLSX名称"

        tb.TreeFilter = "[DK编码]= \'" & e.Row("[DK编码]") & "\'And [DNP编码] = \'" & e.Row("[DNP编码]") & "\'"

        e.Col.DropTree = tb.Build()

    End If

End If

 


--  作者:狐狸爸爸
--  发布时间:2012/3/2 15:55:00
--  
不同的问题,分别发帖提问,尽量用简单的例子说话。