| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2323 人关注过本帖, 1 人收藏
标题:请教GRID标题遮挡其他控件的问题
只看楼主 加入收藏
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9805
专家分:26913
注 册:2012-2-5
收藏
得分:0 
回复 28楼 arefeng
确实如此
图片附件: 游客没有浏览图片的权限,请 登录注册

坚守VFP最后的阵地
2012-06-02 00:47
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 28楼 arefeng
是有你说的问题,应该是如我24楼所说的那个原因了,标题栏其实就是窗体上的标题栏,窗体激活,一定会把窗体框架呈现出来的,亦即会重绘标题栏。另外还有一个毛病,在上下翻滚Grid数据的时候,那个Container也会上下稍微偏移。

要彻底解决这种问题,还要费相当力气。但我前面说了,这个设计其实不需要把Container覆盖在Grid上面的。开始的时候,让Grid原样显示,当要编辑时,令隐藏着的Container.Visible=.T.,同时改变Grid的Width,让两边控件并排,呈现楼主所期望的画面,编辑之后,再令Container.Visible=.F.,同时恢复Grid的Width,这就可以了。这就是所谓的收缩、折叠效果,通常是这样做的。

[ 本帖最后由 TonyDeng 于 2012-6-2 00:55 编辑 ]

授人以渔,不授人以鱼。
2012-06-02 00:50
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9805
专家分:26913
注 册:2012-2-5
收藏
得分:0 
回复 32楼 TonyDeng
解决楼主的问题:当要显示表格某一行记录时,缩小表格的宽度,只显示表格的前2-3列数据,表格向左移动,这时腾出的表单右边部分就可以显示TEXTBOX的内容。如果不想显示某一行的内容,就恢复表格的原始宽度。

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册



[ 本帖最后由 sdta 于 2012-6-2 01:12 编辑 ]

坚守VFP最后的阵地
2012-06-02 00:59
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
是的,这就是我8、10楼所表达的意思。他原来的设计,该做的(编辑控件)省不了,又多了许多麻烦,不是吃力不讨好吗。Grid是有一个参数瞬间把Browse模式切换为Edit模式(估计楼主是想用那个的),但我用过那个效果不好,最后还是要写那一大堆编辑控件。

授人以渔,不授人以鱼。
2012-06-02 01:05
arefeng
Rank: 2
等 级:论坛游民
帖 子:69
专家分:61
注 册:2012-5-30
收藏
得分:0 
回复 32楼 TonyDeng
同意你24楼的原因分析,
这样的话, 表单内的任何控件都不可能遮住这个header,
我倒是想到办法解决,但觉得以此代价达成楼主的思路太不值得了.
方法有两种, 但原理是一样的, 就不写代码了, 讲一讲大家都能明白, 算是给楼主个交代吧:

方法一,代码方面简单一点,但要用到两个Grid :
1. 用左边的Grid1 + 右边的text一堆, 形成第一个界面组合(连容器都不必用)
2. 用Grid2拆开, 形成第2个界面组合, 把它的显示顺序放在组合1上面形成重叠

方法二, 用1个Grid实现楼主的愿望(满足一下程序员的偏执精神)
1. 界面一, 定义这个Grid的headerheight为0(没有表头看它怎么作恶,哈哈), 布置好表体的位置, 另外搞一个假表头放在原本是表头的位置
2. 界面二, 恢复这个表的本来面目, 隐藏假表头, 隐藏右边的容器(这时需要容器比一堆散乱的控件方便了)

呵呵, 以上只是要跟楼主的命题较劲儿一下, 没什么太大的意义哈
代码就不写了, 我没有tony的神功
2012-06-02 01:09
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
还是要用容器的,那么一大堆东西,到时一锅就可以搬到别处去。使用容器的好处是可以把控件组合封装成新的控件对象,会带来很多方便性的。

授人以渔,不授人以鱼。
2012-06-02 01:18
arefeng
Rank: 2
等 级:论坛游民
帖 子:69
专家分:61
注 册:2012-5-30
收藏
得分:0 
回复 34楼 TonyDeng
那个属性是 Partition
设置左右拆分后的位置

而且拆表格窗口我自己虽然也不怎么用,
但它确实显得有些妙用, 研究的时候很吸引人

应该说Grid是VFP中最有意思的控件了
大家研究它透一些对各方面都有好处.
2012-06-02 01:18
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 33楼 sdta
把左边的栏锁定(连宽度也固定起来),就不会有那种忽大忽小的难看现象。再加点动态效果……

授人以渔,不授人以鱼。
2012-06-02 01:21
arefeng
Rank: 2
等 级:论坛游民
帖 子:69
专家分:61
注 册:2012-5-30
收藏
得分:0 
回复 33楼 sdta
要加上拆表的部分,左右拆一下给楼主看哈
你这个方案应该是最优方案了.
2012-06-02 01:23
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 37楼 arefeng
不是Partition,是View,你看看帮助试一下就知道了,那是相当于命令Browse和Edit两种模式。

授人以渔,不授人以鱼。
2012-06-02 01:24
快速回复:请教GRID标题遮挡其他控件的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016498 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved