以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教有点蓝老师  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108905)

--  作者:wakai
--  发布时间:2017/10/31 18:15:00
--  请教有点蓝老师
请教有点蓝老师,
For Each cdr1 As DataRow In DataTables("合同_包材合同").datarows
    Dim nms1() As String = {"名称","品牌"}
    Dim dr1 As DataRow
    dr1 = DataTables("商品").Find("[商品ID] = \'" & cdr1("商品ID") & "\'")
    If dr1 IsNot Nothing
        For Each nm1 As String In nms1
            cdr1(nm1) = dr1(nm1)
        Next
        
    End If
Next
上面的代码,怎么都不行,麻烦请老师按参考:http://www.foxtable.com/webhelp/scr/2225.htm方法帮忙改下代码

--  作者:有点甜
--  发布时间:2017/10/31 19:01:00
--  

 和你给的帮助文档无关。

 

 看是否触发了合同表的datacolchanged事件。

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=108854&skin=0

 


--  作者:wakai
--  发布时间:2017/11/1 15:45:00
--  
datacolchanged一样的代码,实现输入后马上查询
For Each cdr1 As DataRow In DataTables("合同_包材合同").datarows
    Dim nms1() As String = {"名称","品牌"}
    Dim dr1 As DataRow
    dr1 = DataTables("商品").Find("[商品ID] = \'" & cdr1("商品ID") & "\'")
    If dr1 IsNot Nothing
        For Each nm1 As String In nms1
            cdr1(nm1) = dr1(nm1)
        Next
        
    End If
Next

--  作者:有点甜
--  发布时间:2017/11/1 17:04:00
--  
datacolchanged事件不能写3楼的代码。你把datacolchanged删除再测试。
--  作者:wakai
--  发布时间:2017/11/2 11:31:00
--  
有点甜老师,datacolchanged要怎么写呢

--  作者:有点甜
--  发布时间:2017/11/2 11:57:00
--  
以下是引用wakai在2017/11/2 11:31:00的发言:
有点甜老师,datacolchanged要怎么写呢

 

If e.DataCol.name = "商品id" Then
    Dim nms1() As String = {"名称","品牌"}
    Dim dr1 As DataRow
    dr1 = DataTables("商品").Find("[商品ID] = \'" & e.DataRow("商品ID") & "\'")
    If dr1 IsNot Nothing
        For Each nm1 As String In nms1
            e.DataRow(nm1) = dr1(nm1)
        Next
    End If
End If


--  作者:有点甜
--  发布时间:2017/11/2 11:58:00
--  

 

或者你执行全部修改的时候,不要触发任何事件

 

http://www.foxtable.com/webhelp/scr/2218.htm

 


--  作者:wakai
--  发布时间:2017/11/3 9:30:00
--  
 测试发现原来是AfterLoad的代码耗了大量时间,100行信息耗时5秒,请教老师怎么写好
For Each cdr1 As DataRow In DataTables("合同_包材合同").datarows
    Dim nms1() As String = {"名称","品牌"}
    Dim dr1 As DataRow
    dr1 = DataTables("商品").Find("[商品ID] = \'" & cdr1("商品ID") & "\'")
    If dr1 IsNot Nothing
        For Each nm1 As String In nms1
            cdr1(nm1) = dr1(nm1)
        Next
        
    End If
Next

--  作者:有点蓝
--  发布时间:2017/11/3 10:29:00
--  
1、http://www.foxtable.com/webhelp/scr/2218.htm



--  作者:wakai
--  发布时间:2017/11/3 11:40:00
--  
老师能直接帮忙改一下吗