Foxtable(狐表)用户栏目专家坐堂 → [求助] 窗口缩放后,如何让原表列宽同比缩放。


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

主题:[求助] 窗口缩放后,如何让原表列宽同比缩放。

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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
[求助] 窗口缩放后,如何让原表列宽同比缩放。  发帖心情 Post By:2018/8/20 15:01:00 [显示全部帖子]

在网上找了一个类似的   但看不懂。

Dim t As Table = Tables("表a")
Dim cs1 As String = "第一列,第二列,第三列"
Dim cs2 As String = "20,50,30"
Dim w As Integer = (t.grid.width-30) / 100                问题: 这里表列宽为什么 要减个30呀
Dim str As String = ""
Dim ary1 = cs1.split(",")
Dim ary2 = cs2.split(",")
For i As Integer = 0 To ary1.length-1
    t.cols(ary1(i)).width = w * ary2(i)
Next

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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2018/8/20 15:33:00 [显示全部帖子]

测试了,不起作用。。我禁用了行号,设置了   显示列。 我的意思是:窗口最大化时,该表格的列宽和表格一样宽,不会留下一处空白区


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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2018/8/20 16:21:00 [显示全部帖子]

谢谢了。这个表格控件真是无语。什么都要自己写代码。为什么不集成一下。

lst.count  count 只是返列宽个数。 这么除什么意思呀


t.SetColVisibleWidth(String.Join("|" & w & "|",lst.ToArray) & "|" & w)   这个好复杂呀。看不懂。知识点在哪里找得到


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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2018/8/20 16:59:00 [显示全部帖子]

Dim w As Integer = (ct.Width-30) / lst.Count  这句话是平均分布各列。  而我想要的是  显示列的宽度,同比例缩放。

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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2018/8/20 21:52:00 [显示全部帖子]

这个有bug, 那就是列宽在不断变大,比如。60放大后就成了93,缩小在放大 就成了147了。


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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2018/8/21 1:50:00 [显示全部帖子]

是我没有测试好,显示列没有宽度缩放没有变化。就是在最大化后,主表列宽发生变化。就是60变成93.没有增量变化。

行高也能这样操作吗。窗口表,右边和下边没有边框线,总看得别扭。我想把表框和行高一样高(分页加载)右边没有框线就没有思路了


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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2018/8/21 2:45:00 [显示全部帖子]

这个是我没有测试好。 列宽只有两种变化。放大后关闭,列宽会加大。如60放大关闭后就成了93。

请问行高也能这样设置吗。还有分页加载 表格下方和右边没有边框线。怎么解决。

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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2018/8/21 15:31:00 [显示全部帖子]

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



这是我做的界面美化。说真的。foxtable 功能强大,认真学很容易入门,但很难精通。我年龄大了。虽然有兴趣,但有时真不想在看在学。但兴趣使然,总是不知觉来看看。看fox不断更新,三层架构都 弄出来了。不过我也间接知道了三层构架是解决cs bs app这三者间的连络连通。我现在就是对网络设置 网络连接一块还 一摸黑。即然说起来了,今天,就多说一些吧。首先感谢  有点蓝(你的回复我总感觉很细心,多次来你都回复得想让我懂,但底子太差,过了学习的年龄)还有一些回复的老师们,还要感谢 【分享】无私贡献的大师们。因为有了你们让我们实例研究,掌握更多的功能。现在我也能做个ERP(BUG很多那种)。尽管很粗糙,但总能做出来。从项目规划、界面设计、数据传递、人机感受等等,觉得软件是一个系统工程,真是要一个团队协作的。所以兴趣使然,终是业余,自用并聊以助人。因有事外出,回来继续谈一下FOX的想法和建议。

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


加好友 发短信
等级:童狐 帖子:261 积分:2195 威望:0 精华:0 注册:2015/5/15 14:51:00
  发帖心情 Post By:2018/8/21 18:06:00 [显示全部帖子]

这句没有意义。造成原设置列宽数据的改变,是因为  c.witdh = c.witdh +w 这个变量的传递引起的。

逻辑应是: 放大后: c.witdh = c.witdh +w   缩小后: c.witdh = c.witdh - w  问题来了:w 又是由原列宽计算传递过来的。所以原列宽的数据无法获得 只有先行 运用集合、数组保存下来。太麻烦了。。我觉得这样就行了,后台没有什么 影响。展示给对象的没有变化。 行高,我是人工计算设置的。。。右框线是自己添加控件设置的。不太完美。最后加了一句 t.ExtendLastCol= True,因为运行下来并不能与表格完全匹配,有点缝隙。。

 回到顶部