Foxtable(狐表)用户栏目专家坐堂 → 自动报表如何设置自适应行高


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

主题:自动报表如何设置自适应行高

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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
自动报表如何设置自适应行高  发帖心情 Post By:2020/1/8 23:20:00 [只看该作者]

好像只有设置行高的代码,没找到自适应行高的代码。
请教老师,如果我的专业报表里的表格行高需要根据某一列或者某几列的内容多少来自适应行高如何实现呢?

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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2020/1/8 23:33:00 [只看该作者]

顺便再问一句。
如果没有相应的功能,那么我是不是只有根据单元格的字数多少自己计算行高(实际情况是要计算不用列的单元格内容,再比较大小,以大的来定行高)
那么问题来了,我怎么知道一个字的大小是多少呢?

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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2020/1/8 23:46:00 [只看该作者]

刚刚又研究了一下。好像专业报表里面会自动根据单元格内容多少来调整行高,也就是说是默认自适应好高的
但是,除了一种情况。那就是在合并单元格的时候就不会自动调整了。
那么在合并单元格的时候该如果根据被合并的单元格里的内容来调整被合并的单元格的高度呢?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110582 积分:562806 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/9 9:25:00 [只看该作者]

根据内容计算高度可以使用MeasureString,比如

Dim fnt As New Font("宋体",10)
Dim msg As String = "测试文字测试文字测试文字测试文字测试文字"
Dim gc = basemainform.CreateGraphics
Dim size = gc.MeasureString(msg, fnt, 50) ‘50是单元格的宽度
msgbox(size.height) ‘文字占用的高度

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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2020/1/18 1:13:00 [只看该作者]

按老师的代码我测试了一下,结果是108.125。
如果说单位是毫米的话这个得出的行高就是10.8125厘米,感觉是不是有点太高了?
貌似这个值有点问题。请老师指教,,

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110582 积分:562806 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/18 9:12:00 [只看该作者]

MeasureString计算出来的结果是像素,不是毫米


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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2020/1/18 11:28:00 [只看该作者]

这下我就懵了!这个计算出来的是像素,专业报表的行高设置有是毫米。两者要想相互转化我还必须要获取当前屏幕的分辨率。那么,请问老师我该如何计算才能获得行高呢?

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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2020/1/18 11:31:00 [只看该作者]

感觉这个事情越来越复杂了。??

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110582 积分:562806 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/18 11:54:00 [只看该作者]

上传实例直接说明要什么效果

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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2020/1/18 14:50:00 [只看该作者]

我的项目里面有用专业报表生成的表格。而且表格里面有些行是合并了的。但是合并后的单元格就不能根据单元格内文字的多少来自动调整行高了。以至于很多情况下合并后的单元格里的文字显示不完整。那么我就想到用代码来自己计算每行的高度。这就不可避免的要用到你给我说的那个办法,但现在你给我说那个办法得到的数值单位又是像素而专业报表里面对行高的设置用的单位是毫米。我现在就是想问怎样把得到的像素值换算成毫米呢?

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