Foxtable(狐表)用户栏目专家坐堂 → [求助] 动态增加Table的列宽设置


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

主题:[求助] 动态增加Table的列宽设置

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


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


If e.form.controls.contains("TabC" & id) Then
    e.form.RemoveControl("TabC" & id)
End If


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


加好友 发短信
等级:六尾狐 帖子:1311 积分:9528 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2018/3/30 16:04:00 [只看该作者]

    Dim tbl As WinForm.Table
    tbl = e.Form.CreateSQLTable("Tab" & dtei,fi, "ksg")
    tbl.Dock = 5
    e.Form.Controls("TabControl1").Tabpages(id).AddControl(tbl)
    tab.SelectedIndex = id


tbl.Table.SetColVisibleWidth(CVS)   这个可以过

Tables(tbl.name).SetColVisibleWidth(CVS)  为什么这个会出错?


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


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

sqlTable的名称,是这样的 窗口名_Table名

 

tbl.name的值,是table名,要改成如 Tables(e.form.name & "_" & tbl.name)


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


加好友 发短信
等级:六尾狐 帖子:1311 积分:9528 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2018/3/30 16:52:00 [只看该作者]

以下是引用有点甜在2018/3/30 16:02:00的发言:


If e.form.controls.contains("TabC" & id) Then
    e.form.RemoveControl("TabC" & id)
End If


Dim tb As Table = CurrentTable

Dim r As Row = tb.Current





If r("i") = "+" Then

    

    Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1")

    Dim id As Integer = tab.TabPages.Count

    Dim tbn As String = "TabMc" & id

    tab.TabPages.Add("明细" & id,r("名称"))

    Dim CVS As String = tb.GetColVisibleWidth

    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·

    

    If e.form.controls.contains(tbn) Then

        e.form.RemoveControl(tbn)

    End If

       

    

    Dim tbl As WinForm.Table

    tbl = e.Form.CreateSQLTable(tbn ,"Sele ct * From {BOM} where 父阶代码 = '" & r("子阶代码") & "'", "ksg")

    tbl.Dock = 5

    e.Form.Controls("TabControl1").Tabpages(id).AddControl(tbl)

    tab.SelectedIndex = id

    

    

    tbl.Table.SetColVisibleWidth(CVS)

    

End If


老师,同样报错

[此贴子已经被作者于2018/3/30 16:52:33编辑过]

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


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

我测试没问题

 

Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1")
Dim id As Integer = tab.TabPages.Count
Dim tbn As String = "TabMc" & id '改成固定 test 也没问题
Dim p = tab.TabPages.Add("明细" & id, "test" & id)

If e.form.controls.contains(tbn) Then
    msgbox(123)
    e.form.RemoveControl(tbn)
End If

Dim tbl As WinForm.Table

tbl = e.Form.CreateSQLTable(tbn ,"Select * From {表A}","")

tbl.Dock = 5

p.AddControl(tbl)

tab.SelectedPage = p


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


加好友 发短信
等级:六尾狐 帖子:1311 积分:9528 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2018/3/30 18:57:00 [只看该作者]

生成运行文件,试用没有问题,
在编程过程中就有问题。也就是在窗口设计器中调试就有问题,百思不得其解。
[此贴子已经被作者于2018/3/30 18:59:28编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1311 积分:9528 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2018/3/30 20:07:00 [只看该作者]

老师还是不行,上传例子人,你帮忙看一下。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目15.table


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


加好友 发短信
等级:超级版主 帖子:107014 积分:544295 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/30 20:17:00 [只看该作者]

Dim tb As Table = CurrentTable
Dim r As Row = tb.Current

改为

Dim tb As Table = Tables("表A")
Dim r As Row = tb.Current
If r Is Nothing Then Return

没事尽量不要使用CurrentTable,其次要保证tbn变量对应的表是存在的

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


加好友 发短信
等级:六尾狐 帖子:1311 积分:9528 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2018/3/30 22:05:00 [只看该作者]

老师按你说的修改了,问题一样。
感觉 这段代码完成没有产生效果 ,msgbox  从来都没有弹出来过。
If e.form.controls.contains(tbn) Then
    msgbox(123)
    e.form.RemoveControl(tbn)
End If

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


加好友 发短信
等级:超级版主 帖子:107014 积分:544295 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/30 22:33:00 [只看该作者]

tbn到底是控件名称还是表名称啊
tbl = e.Form.CreateTable(tbn , tbn , True)

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

CreateTable(Name, TableName, IsCopy)

Name:      控件名称
TableName: 数据表名称
IsCopy:    逻辑型,是否作为副本,设为True作为副本。



 回到顶部
总数 26 上一页 1 2 3 下一页