Foxtable(狐表)用户栏目专家坐堂 → [求助]窗口动态绑定指定的表


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

主题:[求助]窗口动态绑定指定的表

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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
[求助]窗口动态绑定指定的表  发帖心情 Post By:2017/4/10 22:04:00 [只看该作者]

用窗口中的组合框选定当前表,表控件动态显示当前表的指定列,帮忙看看哪里不对?

 

1、'窗口的afterload事件
Dim bm As String     '获取表名下拉框
For Each dt As DataTable In DataTables
    If bm ="" Then
        bm = dt.Name
    Else
        bm = bm & "|" & dt.Name
    End If
Next
Dim cmb As WinForm.ComboBox = e.form.Controls("ComboBox1")
cmb.ComboList = bm

---------------------------------

2、'组合框的TextChanged事件
If Tables.Contains(e.Sender.Text) Then   '该表作为选中表
    Dim t As Table = Tables(e.Sender.text)
    MainTable = t
    t.Focus
    Tables("窗口1_Table1").DataSource = t

    Tables("窗口1_Table1").SetColVisibleWidth("第一列|90|第二列|120")
End If


 


此主题相关图片如下:gif.gif
按此在新窗口浏览图片

 

附件:


 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:动态绑定表.table

[此贴子已经被作者于2017/4/10 22:15:04编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/10 22:19:00 [只看该作者]

If Tables.Contains(e.Sender.Text) Then   '该表作为选中表,TextChanged事件
    Dim t As Table = Tables(e.Sender.text)
    MainTable = t
    t.Focus
    Tables("窗口1_Table1").DataSource = t.DataTable
    Tables("窗口1_Table1").SetColVisibleWidth("第一列|90|第二列|120")
End If

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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/4/11 9:21:00 [只看该作者]

窗口的afterload事件,获取表名列表时,怎样排除窗口表?就是不让“窗口1_Table1”这类表出现在列表框。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/11 9:23:00 [只看该作者]

 

[此贴子已经被作者于2017/4/11 9:24:00编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/11 9:28:00 [只看该作者]

参考代码

 

Dim bm As String     '获取表名下拉框
Dim obj As object = basemainform.controls("mainpages")
For Each pg As object In obj.tabpages
    If bm ="" Then
        bm = pg.Name
    Else
        bm = bm & "|" & pg.Name
    End If
Next
Dim cmb As WinForm.ComboBox = e.form.Controls("ComboBox1")
cmb.ComboList = bm

 


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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/4/11 10:06:00 [只看该作者]

我在项目afteropenproject 事件里设定了隐藏表,当组合框选定当前表时,表又显示了,怎样选定当前表时,仍然隐藏。

For Each t As Table In Tables
    t.Visible = False
Next

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/11 10:11:00 [只看该作者]

修改一下代码

 

If Tables.Contains(e.Sender.Text) Then   '该表作为选中表,TextChanged事件
    Dim t As Table = Tables(e.Sender.text)
    If t.Visible Then
        MainTable = t
        t.Focus
    End If
    Tables("窗口1_Table1").DataSource = t
    Tables("窗口1_Table1").SetColVisibleWidth("第一列|90|第二列|120")
End If


 回到顶部