以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动复制行问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50777)

--  作者:tina2012
--  发布时间:2014/5/13 14:23:00
--  自动复制行问题
Sales_Order_Product和PD_Product_Details这两个表是来自不同的外部数据源,能不能通过以下代码自动复制行内容呢?
"复制到库存表"列是罗激列

\'自动复制行
If e.DataCol.Name = "复制到库存表" AndAlso e.DataRow("复制到库存表") = True Then
    Dim nma() As String = {"ProductId","Amount","出库日期","已交数量"} \'A表数据来源列
    Dim nmb() As String = {"ProductId","InventoryAmount","Date","DeliveryAmount"} \'B表数据接收列
    Dim dr As DataRow = DataTables("PD_Product_Details").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If

但是没有起作用,是不是来自不同的外部数据源的表不能复制内容呢??

--  作者:有点甜
--  发布时间:2014/5/13 14:57:00
--  

 不同数据源的数据,都是可以复制的。

 

 没有赋值,一定没有过进入执行代码。


--  作者:有点甜
--  发布时间:2014/5/13 14:58:00
--  
加入红色代码,看是否有对话框弹出
 
If e.DataCol.Name = "复制到库存表" AndAlso e.DataRow("复制到库存表") = True Then
    Msgbox("111")
    Dim nma() As String = {"ProductId","Amount","出库日期","已交数量"} \'A表数据来源列
    Dim nmb() As String = {"ProductId","InventoryAmount","Date","DeliveryAmount"} \'B表数据接收列
    Dim dr As DataRow = DataTables("PD_Product_Details").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If

--  作者:tina2012
--  发布时间:2014/5/13 15:11:00
--  

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

图片点击可在新窗口打开查看此主题相关图片如下:000.jpg
图片点击可在新窗口打开查看
 为什么提示列无效???
--  作者:有点甜
--  发布时间:2014/5/13 15:17:00
--  

看一下列名是否对应

 

 当前表的列名 ProductId","Amount","出库日期","已交数量

 

 目标表的列名 "ProductId","InventoryAmount","Date","DeliveryAmount"


--  作者:有点甜
--  发布时间:2014/5/13 15:19:00
--  
 如果列名是正确的,就是PD_Product_Details的其它事件影响了。比如 datarowadded、datacolchanged