以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]取值求助  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=89738)

--  作者:ajie5211
--  发布时间:2016/8/29 9:10:00
--  [求助]取值求助
如附件,本想在表事件DataColChanged中写代码,但发现,表B中有多行时,在DataColChanged中增加行,会出现死循环,整的晕了,不知道如何整比较好,请大神帮助!
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160829091202.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/8/29 9:14:06编辑过]

--  作者:大红袍
--  发布时间:2016/8/29 9:26:00
--  

 做查询表

 

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

 


--  作者:ajie5211
--  发布时间:2016/8/29 9:33:00
--  

这样是生成了另外一个表,我希望结果还在表A上,至少用的人没有感觉到跳转。


--  作者:ajie5211
--  发布时间:2016/8/29 9:41:00
--  
以下是引用大红袍在2016/8/29 9:26:00的发言:

 做查询表

 

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

 

而且我现在表A是临时表,表B是外部表,又希望填写和显示都在表A中逞现,不要跳来跳去。


--  作者:大红袍
--  发布时间:2016/8/29 10:00:00
--  

参考

 

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

 


--  作者:ajie5211
--  发布时间:2016/8/29 11:25:00
--  
以下是引用大红袍在2016/8/29 10:00:00的发言:

参考

 

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

 

我原来也是这样想的,但现在的问题是表B对应表A有多行数据时,即,表A输入一条,表B查询到两条或更多条,此时的代码怎么整?


--  作者:大红袍
--  发布时间:2016/8/29 12:26:00
--  

If e.DataCol.Name = "ID" Then
    Dim drs As List(Of DataRow) = DataTables("表B").Select("ID = \'" & e.DataRow("ID") & "\'")
    If drs.Count > 0 Then
        e.DataRow("仓库") = drs(0)("仓库")
        SystemReady = False
        For i As Integer = 1 To drs.count-1
            Dim ndr As DataRow = e.DataTable.Addnew
            ndr("Id") = e.DataRow("Id")
            ndr("仓库") = drs(i)("仓库")
        Next
        SystemReady = True
    End If
End If


--  作者:ajie5211
--  发布时间:2016/8/30 13:50:00
--  

可以了,非常感谢!