以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]跨窗口填充问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=33360)

--  作者:琼息
--  发布时间:2013/5/16 14:59:00
--  [求助]跨窗口填充问题
当我在窗口1绑定的表A中勾选第一行时候,希望点击按钮2出现窗口3,
窗口3绑定的表B内容填充条件是:表B的“编号”等于表A勾选所在行的“编号”列.
但是在窗口3的Afterload中写的代码却出现错误,请大神指点
Tables("窗口3_表B").Filter = "[编号] = \'"  Tables("窗口1_表A").GetCheckedRows()  "\' "

--  作者:XYT
--  发布时间:2013/5/16 15:06:00
--  

Dim rs As List(of Row) =Tables("窗口1_表A").GetCheckedRows

Tables("窗口3_表B").Filter = "[编号] =\'"& r("编号") &"\'"

试下这样


--  作者:ybil
--  发布时间:2013/5/16 15:10:00
--  
你应该把代码放在窗口1的按钮2上,且GetCheckedRows() 不是如你这样用,要遍历

如定要在窗口3Afterload中写代码,只能用全局变量传递.

--  作者:琼息
--  发布时间:2013/5/16 15:13:00
--  
不行哦。有错误图片点击可在新窗口打开查看
--  作者:琼息
--  发布时间:2013/5/16 15:54:00
--  
如果放在按钮2,我在按钮2上放的代码是Forms("窗口").Show    放在按钮2的话怎样才能过滤成需要的表内容
--  作者:狐狸爸爸
--  发布时间:2013/5/16 17:36:00
--  

如果只勾选一行:
Dim rs As List(of Row) = Tables("窗口1_表A").GetCheckedRows() 
if rs.Count > 0 Then
     Tables("窗口3_表B").Filter = "[编号] = \'"  & rs(0)("编号") & “‘”
End if
 
如果要勾选多行:
Dim vs As String
For Each r As Row In Tables("窗口1_表A").GetCheckedRows() 
    vs = "\'" & r("编号") & “’,"
Next

vs = vs.trim(",")

if vs > "" then

   Tables("窗口3_表B").Filter = "编号 in (" & vs & ")"

End if