以文本方式查看主题

-  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=188045)

--  作者:rgbjwjb
--  发布时间:2023/8/29 9:30:00
--  动态设置列宽
我在设计的窗口中有两个控件:命令按钮BT,表控件dt(绑定表A),表A的字段(f1,f2,f3,f4......),我想实现点击“BT”,自定各列的列宽,请指教,谢谢!
--  作者:有点蓝
--  发布时间:2023/8/29 9:49:00
--  
http://www.foxtable.com/webhelp/topics/1775.htm
--  作者:rgbjwjb
--  发布时间:2023/8/29 11:04:00
--  
我是想设计一个窗体,打开该窗体后
1、自动列出表中的所有字段,
2、在每个字段后自加一列,可以输入各字段的列宽,
输入各字段的列宽值后,
点击确定后,原先的表的列宽就自动变更好了
请指教,谢谢!

--  作者:有点蓝
--  发布时间:2023/8/29 11:37:00
--  
1、遍历获取列名:http://www.foxtable.com/webhelp/topics/0561.htm
2、设计好一个表,比如有【列名、列宽】等列,然后绑定到窗口表控件

最后,确定按钮把列名和列宽合并到一起,调用2楼的方法即可

--  作者:rgbjwjb
--  发布时间:2023/8/29 16:21:00
--  
我只能增加一列,麻烦老师帮修改一下,谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:列宽设置.foxdb


--  作者:有点蓝
--  发布时间:2023/8/29 16:24:00
--  
把新增行的代码放到for循环里面
--  作者:rgbjwjb
--  发布时间:2023/8/29 22:31:00
--  
我已做根据老师的指点做了修改;另外
我在“确定”按钮的代码为:
Dim tb As Table = Tables("列宽设置表")
tb.Save
Dim str As String
For r As Integer = 0 To tb.Rows.Count - 1 \'开始填入该列内容
    Str = str & tb.Rows(r)("列名") & "|" & tb.Rows(r)("列宽") & "|"
Next
Tables("发放失败表").SetColVisibleWidth("str")
不知代码有没有问题?
还有就是代码不能保存,打开后代码久没有了,请问什么原因?请指教,谢谢!

--  作者:有点蓝
--  发布时间:2023/8/29 22:35:00
--  
调试下面2行代码是一个东西吗?

msgbox("str")
msgbox(str)

--  作者:rgbjwjb
--  发布时间:2023/8/30 8:12:00
--  
msgbox("str"):只显示数据表的最后一个字段,输入列宽后,所有列都隐藏了
msgbox(str):保存时提示出错,

--  作者:有点蓝
--  发布时间:2023/8/30 8:57:00
--  
在认真看看弹出的内容是一样的吗?!

Dim tb As Table = Tables("列宽设置表")
tb.Save
Dim str As String
For r As Integer = 0 To tb.Rows.Count - 1 \'开始填入该列内容
    Str = str & tb.Rows(r)("列名") & "|" & tb.Rows(r)("列宽") & "|"
Next
msgbox("str")
msgbox(str)