以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]记存三个表的高度怎么就能记住一个? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104612) |
||||
-- 作者:新福星 -- 发布时间:2017/8/1 20:20:00 -- [求助]记存三个表的高度怎么就能记住一个? If r IsNot Nothing Then If Tables(bm4).Rows.Count<>0 Then r("a1")= Tables(bm4).Grid.Rows(Tables(bm4).Position+1).Height If r("a1")<21 Then r("a1")= 21 End If If Tables(bm1).Rows.Count<>0 Then r("a2")= Tables(bm1).Grid.Rows(Tables(bm1).Position+1).Height If r("a2")<21 Then r("a2")= 21 End If If Tables(bm5).Rows.Count<>0 Then r("a3")= Tables(bm5).Grid.Rows(Tables(bm5).Position+1).Height If r("a3")<21 Then r("a3")= 21 End If r.save End If 需要把一个窗口中三个表的高度记存下来。程序如上! 可是通过用MessageBox.Show显示数据,发现这三个表的高度不管怎么变化,只有一行会显示出实际高度,另两个是-1。只能记存其中一个。问题出在哪里?谢谢!
|
||||
-- 作者:有点蓝 -- 发布时间:2017/8/1 20:31:00 -- 如果没有显式使用代码给行设置过高度,那么默认都是-1的。 你可以判断一下,如果是-1,那么就是默认的高度21
|
||||
-- 作者:新福星 -- 发布时间:2017/8/1 20:36:00 -- 现在就是-1就设置成21。 我把这三个表的高度用Tables(bm).AutoSizeRows调整了行高。明显已经见到两个表的高度变宽了。 但是用MessageBox.Show(Tables(bmi).Grid.Rows(Tables(bmi).Position+1).Height)显示高度时,其高度只会有一个表显示是实际高度,另两个就显示为-1。好奇怪,为何?谢谢
|
||||
-- 作者:有点蓝 -- 发布时间:2017/8/1 21:16:00 -- 如果数据仍然还只是一行的高度,AutoSizeRows不会导致高度变化 |
||||
-- 作者:新福星 -- 发布时间:2017/8/1 21:27:00 -- 我也注意到这个问题。三个表用AutoSizeRows调整高度,有两个表的高度明显发生了变化。另一个没有变化! 在这种情况下,三个表的Tables(bmi).Grid.Rows(Tables(bmi).Position+1).Height 高度,只有一个显示实际高度。另两个是-1。 ABC三个表AC高度变化,B没有变。三个表中显示实际高度的表可能是A也可能是C。飘忽不定的!有什么办法获取实际高度?谢谢
|
||||
-- 作者:有点蓝 -- 发布时间:2017/8/1 21:39:00 -- 每一行的高度都可能不一样的。只有高度有变化的行才能取到正确的Height值,没有变化的行统一就是-1。 不明白你到底想实现什么功能,上实例看看
|
||||
-- 作者:新福星 -- 发布时间:2017/8/2 4:48:00 -- 要求是 :1 把表的行高记录下来.在下次打开时恢复关闭时的行高! 2 在输入数据时随着数据的录入行高自动适应,就象执行了AutoSizeRows。
在这个项目中表A AfterResizeRow 的事件中设置代码 MessageBox.Show(e.Position & "/" & e.Table.Grid.Rows(e.Position).Height) 然后拉动表A的行高,看到取到的行高怎么就是两个数呢?21 or -1。我想看到实际行高!谢谢 [此贴子已经被作者于2017/8/2 4:57:01编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/8/2 9:58:00 -- 获取值,这样获取
MessageBox.Show(e.Position & "/" & e.Table.Grid.Rows(e.Position+e.Table.HeaderRows).heightdisplay)
1、你可以用一列记录行高,打开的时候根据值设置。
你可以直接用主表,你对主表的各种修改,都是可以保存下来的。
2、http://www.foxtable.com/webhelp/scr/1564.htm
|