Foxtable(狐表)用户栏目专家坐堂 → 求助 查找控件


  共有4169人关注过本帖树形打印复制链接

主题:求助 查找控件

帅哥哟,离线,有人找我吗?
jianjingmaoyi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
求助 查找控件  发帖心情 Post By:2014/2/19 22:05:00 [只看该作者]

 表A 在窗口名称列输入窗口名字,在控件名称列可以下拉出,找出在测试表中相对应的控件类型为按钮的名字'

是根据   key码和  p Key 有相同的值来找.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:查找.table






[此贴子已经被作者于2014-2-19 22:06:45编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jianjingmaoyi
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
  发帖心情 Post By:2014/2/19 22:36:00 [只看该作者]

有点甜 请帮忙

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/19 22:40:00 [只看该作者]

 呃,什么意思?如果要查询,不是直接查就行了?是说列出此窗口所有的按钮名字就行了?

 如果要做下拉,可以参考自定义窗口那里做一个下拉窗口。

 再有就是,你的表不规范,每一行都应该填入所有表者

 回到顶部
帅哥哟,离线,有人找我吗?
jianjingmaoyi
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
  发帖心情 Post By:2014/2/19 22:42:00 [只看该作者]

 我就需要这个结构找控件的名字 类似于递归函数的做法
[此贴子已经被作者于2014-2-19 22:43:17编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/19 22:46:00 [只看该作者]

 规则是什么?只是根据表名查找所有的控件名?

 回到顶部
帅哥哟,离线,有人找我吗?
jianjingmaoyi
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
  发帖心情 Post By:2014/2/19 22:51:00 [只看该作者]

Dim Arys As List(Of String())
Arys = DataTables("测试").GetValues("窗口以及控件姓名|Key","控件类型='窗口'")
For Each Ary As String() In Arys
    Dim drs As List(Of DataRow)
    drs = DataTables("测试").Select("ParentKey='" & Ary(1)& "'And 控件类型='按钮'")
    For Each dr As DataRow In drs
        Output.Show(Ary(0) & "|" & dr("窗口以及控件姓名"))  '到这一步返回的窗口按钮控件的名字是对的
        Dim drs1 As List(Of DataRow)
        drs1 = DataTables("测试").Select("窗口以及控件姓名='" & dr("窗口以及控件姓名") & "'")
        For Each dr1 As DataRow In drs1
            '  Output.Show(dr1("key"))
            ' Dim drs2 As List(Of DataRow)
            Dim dr2 As DataRow = DataTables("测试").Find("Key='" & dr1("ParentKey") & "'")
            If  dr2 IsNot Nothing
                '  Output.Show(dr2("窗口以及控件姓名"))
            End If
        Next
    Next
Next

我写了一部分  我需要返回容器内的控件名字

 回到顶部
帅哥哟,离线,有人找我吗?
jianjingmaoyi
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
  发帖心情 Post By:2014/2/19 23:02:00 [只看该作者]

搞定了,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/19 23:19:00 [只看该作者]

 呃……可以参考递归函数来做

内部函数(递归)
Dim drs As List(Of DataRow) = args(0)
Dim fname As String = args(1)

For Each dr As DataRow In drs
    If dr.IsNull("ParentKey") Then
        fname = dr("窗口以及控件姓名")
    End If
    If dr("控件类型") = "按钮" Then
        output.show(fname & "|" & dr("窗口以及控件姓名"))
    End If
    Functions.Execute("递归", DataTables("测试").Select("parentKey = '" & dr("key") & "'"), fname)
Next

调用
Dim drs As List(Of DataRow) = DataTables("测试").Select("parentKey is null")
Functions.Execute("递归", drs, "")

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/2/20 9:11:00 [只看该作者]

谢谢 有点甜 我试试

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/2/20 9:38:00 [只看该作者]

哈,老朱,您这样的马甲还有何意义?图片点击可在新窗口打开查看

 回到顶部
总数 16 1 2 下一页