Foxtable(狐表)用户栏目专家坐堂 → 如何获取RecordGrid显示的区域高度


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

主题:如何获取RecordGrid显示的区域高度

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11272 威望:0 精华:0 注册:2011/12/15 22:06:00
如何获取RecordGrid显示的区域高度  发帖心情 Post By:2015/1/8 16:41:00 [只看该作者]

显示区域指:列名实际的区域,我想通过获取相关高度使RecordGrid能够显示完整,并且不会露出灰色的无效区域。换句话说,就是自动适应RecordGrid的高度

有没有办法做到?

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


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

取出grid对象,然后设置。

 

Dim g As Object = e.Form.Controls("RecordGrid1").BaseControl


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/1/8 16:45:00 [只看该作者]

空白区显示白色,就差不多了,行高太大,也难看。

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11272 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2015/1/8 16:53:00 [只看该作者]

以下是引用lsy在2015-1-8 16:45:00的发言:
空白区显示白色,就差不多了,行高太大,也难看。
主要为了自动适应模式窗口大小,留太多空白不太好看,能做到自动适应是最好的。


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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11272 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2015/1/8 17:54:00 [只看该作者]

搞定,以下代码获取非显示区域的高度,配合Form.SetBound就能设置了。不知道为什么,form.height直接设置无效,需要调用SetBound。
Dim h As Integer = 0
Dim grid As C1.Win.C1FlexGrid.C1FlexGrid = Rcdgd.BaseControl
For Each cr As C1.Win.C1FlexGrid.Row In grid.Rows
      h += cr.HeightDisplay
Next
h = Rcdgd.Height - h + 35 '会留空白,加35后就没有了。
With Form
        .SetBounds(.Left, .Top, .Width, .Height - h)
End With

 回到顶部