| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 627 人关注过本帖
标题:隐藏Grid某列后,左右拉动滚动条后,表格列显示位置乱套,如何解决?
只看楼主 加入收藏
asis
Rank: 1
等 级:新手上路
威 望:1
帖 子:38
专家分:6
注 册:2022-9-6
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:11 
隐藏Grid某列后,左右拉动滚动条后,表格列显示位置乱套,如何解决?
我想实现Grid某列不显示和自定义列宽,我把各列宽度值事先存放到一个表中,进入表单时会按指定的列宽度重新更新Grid,其中列宽是0时隐藏此列不显示:
USE gyshunxubj.DBF ALIAS gyshunxubj IN 0
sele gyshunxubj
scan
H6=TRIM(列序号)
IF 改后宽度1>0
thisform.grid1.column&H6..width=改后宽度1
ELSE  &&如果改后宽度1是0就隐藏此列不显示:
thisform.grid1.column&H6..Visible=.F.
endif
endscan

[问题]:以上语句虽然可以隐藏某列,但是一旦拉动表格的左右滚动条浏览表格数据时,表格的数据就会出现各列数据串位混乱现象,如下图所示:
1.没左右拉动滚动条前显示界面:
图片附件: 游客没有浏览图片的权限,请 登录注册

2.拉动左右滚动条后显示各列位置混乱的界面:
图片附件: 游客没有浏览图片的权限,请 登录注册


不知道有没有好的解决办法?谢谢!





搜索更多相关主题的帖子: 左右 显示 滚动条 隐藏 表格 
2023-07-30 18:27
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10543
专家分:42958
注 册:2014-5-20
收藏
得分:0 
给测试代码
2023-07-30 18:53
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1064
专家分:2583
注 册:2015-12-30
收藏
得分:0 
改变列的visible属性吧
2023-07-30 20:08
asis
Rank: 1
等 级:新手上路
威 望:1
帖 子:38
专家分:6
注 册:2022-9-6
收藏
得分:0 
grid_test.rar (2.83 KB)

这是测试用的表单,只要单击隐藏按钮,隐藏第1列序号后,再左右拉动表格滚动条并单击表格后,各列的竖线就错位。不知道是VFP自身的BUG还是我哪个地方设置的不对,敬请指教,谢谢。
2023-07-30 21:54
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10543
专家分:42958
注 册:2014-5-20
收藏
得分:0 
好像是有点问题,Visible=.f. 只是不显示内容,并不等于他消失。
要动态最好重新定义列的内容
2023-07-30 23:31
dglhz
Rank: 2
来 自:东莞南城
等 级:论坛游民
威 望:1
帖 子:12
专家分:60
注 册:2022-5-7
收藏
得分:0 
第一次运行时确实有错乱现像
在设计环境设置grid的 SplitBar = .F.后 没出现错乱
但奇怪的是
再将SplitBar = .T. 后也没错乱了.
2023-07-31 01:41
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10543
专家分:42958
注 册:2014-5-20
收藏
得分:20 
grid有个特性:获得焦点时会刷新数据。
这样试试或者可以:
1、设置grid.Column的Visible后执行grid.SetFocus
2、在grid.Scrolled事件中执行grid.SetFocus
2023-07-31 08:52
asis
Rank: 1
等 级:新手上路
威 望:1
帖 子:38
专家分:6
注 册:2022-9-6
收藏
得分:0 
尝试在隐藏第1列的语句后面重新定义了表格各列的宽度后,问题依然存在。想让表格某列隐藏本来是一个常规操作,但确有严重问题。
只能把需要隐藏列的宽度设置0,这样不存上述问题,只是隐藏列右侧有一条很粗的竖线,不美观,目前没有什么解决方案。
2023-07-31 08:57
asis
Rank: 1
等 级:新手上路
威 望:1
帖 子:38
专家分:6
注 册:2022-9-6
收藏
得分:0 
在grid.Scrolled事件加一条:this.SetFocus,解决了此问题。感谢吹版!果然出手不凡。
2023-07-31 09:12
z12689
Rank: 2
等 级:论坛游民
帖 子:43
专家分:83
注 册:2021-4-15
收藏
得分:0 
谢谢各位,跟着学习
2023-07-31 10:07
快速回复:隐藏Grid某列后,左右拉动滚动条后,表格列显示位置乱套,如何解决?
数据加载中...
 
   



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

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