以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何获取RecordGrid显示的区域高度 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=62829) |
-- 作者:jspta -- 发布时间:2015/1/8 16:41:00 -- 如何获取RecordGrid显示的区域高度 显示区域指:列名实际的区域,我想通过获取相关高度使RecordGrid能够显示完整,并且不会露出灰色的无效区域。换句话说,就是自动适应RecordGrid的高度 有没有办法做到?
|
-- 作者:有点甜 -- 发布时间:2015/1/8 16:43:00 -- 取出grid对象,然后设置。
Dim g As Object = e.Form.Controls("RecordGrid1").BaseControl |
-- 作者:lsy -- 发布时间:2015/1/8 16:45:00 -- 空白区显示白色,就差不多了,行高太大,也难看。 |
-- 作者:jspta -- 发布时间:2015/1/8 16:53:00 -- 以下是引用lsy在2015-1-8 16:45:00的发言: 空白区显示白色,就差不多了,行高太大,也难看。 主要为了自动适应模式窗口大小,留太多空白不太好看,能做到自动适应是最好的。
|
-- 作者:jspta -- 发布时间: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后就没有了。
|