以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]数据同步  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79589)

--  作者:wldhj
--  发布时间:2016/1/5 16:02:00
--  [求助]数据同步

Select Case e.DataCol.name
    Case "_identify"
        Dim dr As DataRow = DataTables("库存").Find("产品编号 = \'" & e.OldValue & "\'")
       
If dr Is Nothing Then
            dr = DataTables(
"库存").AddNew()
            dr(
"产品编号") = e.DataRow("_identify")
            dr(
"产品名称") = e.DataRow("产品名称")
            dr(
"产品规格") = e.DataRow("产品规格")
        
        End If
    Case
"产品名称","产品规格"
        Dim dr As DataRow = DataTables(
"库存").Find("产品编号 = \'" & e.DataRow("_identify") & "\'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
       
End If
End
Select

 

为什么最多只能同步 1270行?

[此贴子已经被作者于2016/1/5 16:02:38编辑过]

--  作者:大红袍
--  发布时间:2016/1/5 16:04:00
--  

1、_Identify修改不会触发datacolchanged事件

 

2、用另一个比如编号列代替。


--  作者:wldhj
--  发布时间:2016/1/5 16:12:00
--  

哦,说错了,在CurrentChanged中

 

If e.Table.Current IsNot Nothing Then
     Dim Filter As String = "用户 = \'" & _UserName & "\' and  产品编号 = \'" & e.Table.Current("_identify") & "\'"
    If  DataTables("库存").Find(Filter) Is Nothing Then
        DataTables("库存").AppendLoad(Filter)
    End If
End If

 

为什么最多只能加载 _identify <=1270 的行?


--  作者:大红袍
--  发布时间:2016/1/5 16:21:00
--  

 只要加载条件没问题,只要有符合条件的行,就肯定能加载出来。

 

 你加入msgbox弹出条件,弹出是否进入if执行了代码。