以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何获取窗体的绑定表  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=45957)

--  作者:ndxfke
--  发布时间:2014/2/14 10:06:00
--  [求助]如何获取窗体的绑定表
如题,

我想在窗体打开后,来动态获取该窗体中所有的绑定表。然后再遍历所有字段,

代码怎么写呢?

--  作者:Bin
--  发布时间:2014/2/14 10:09:00
--  
先遍历所有控件http://www.foxtable.com/help/topics/1849.htm
找到所有的表控件,再遍历表的字段即可

--  作者:ndxfke
--  发布时间:2014/2/14 10:13:00
--  
懂了..

谢谢Bin

--  作者:ndxfke
--  发布时间:2014/2/14 10:35:00
--  
Dim tn() As String
Dim n As Integer = 0
For Each wc As WinForm.Control In Forms(_WinName).Controls   
    If Typeof wc Is winform.Normal Then
        tn(n) = wc.Name
        n=n+1
    End If
Next


为啥要报错呢?

--  作者:狐狸爸爸
--  发布时间:2014/2/14 10:37:00
--  
Dim tn() As String
Dim n As Integer = 0
For Each wc As WinForm.Control In Forms(_WinName).Controls   
    If Typeof wc Is winform.Table Then
        dim tb as Winform.Table = wc
        tn(n) = tb.Table.Name
        n=n+1
    End If
Next

--  作者:Bin
--  发布时间:2014/2/14 10:40:00
--  
For Each wc As WinForm.Control In Forms("窗口1").Controls   
    If Typeof wc Is WinForm.Table Then
        Dim wcc As WinForm.Table =wc
        For Each c As Col In wcc.Table.Cols
            output.show(c.name)
        Next
    End If
Next

--  作者:ndxfke
--  发布时间:2014/2/14 10:50:00
--  
报错了亲,

图片我发不上来,不知道啥原因。

--  作者:Bin
--  发布时间:2014/2/14 10:55:00
--  
代码经过测试,是没问题的.



图片点击可在新窗口打开查看此主题相关图片如下:上传图片请参考这里.gif
图片点击可在新窗口打开查看


--  作者:ndxfke
--  发布时间:2014/2/14 11:04:00
--  
谢谢..

狐爸写的这段,给数组赋值时报错。 什么原因呢?

--  作者:Bin
--  发布时间:2014/2/14 11:08:00
--  
数组不可以这么用.

你用集合吧

Dim tns As new List(of String)
For Each wc As WinForm.Control In Forms("窗口1").Controls   
    If Typeof wc Is winform.Table Then
        Dim tb As Winform.Table = wc
        tns.add(tb.Table.Name)
    End If
Next