| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1360 人关注过本帖
标题:表格中显示图片,当记录数较多时,单击表格会卡顿5秒并变成空白,过一会才显 ...
只看楼主 加入收藏
asis
Rank: 1
等 级:新手上路
威 望:1
帖 子:43
专家分:7
注 册:2022-9-6
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:11 
表格中显示图片,当记录数较多时,单击表格会卡顿5秒并变成空白,过一会才显示正常,请教如何解决??
    在一个表格控件中显示每条记录的图片(是用ttt表的f2字段存放对应图片的存放路径,Thisform.grid1.Column2.Image1.Picture = ttt.f2),当记录数较多时,鼠标滚轮上下浏览表格时,只要单击表格任何一列都会卡顿5秒、鼠标指针转圈、表格只剩表头下面变成空白,像死机一样,过一会才又显示正常,在WIN10中卡顿较严重,请问有什么好的解决办法?谢谢!  
    这个表单已打包上传到附件中。

test.rar (26.68 KB)
搜索更多相关主题的帖子: 空白 表格 图片 单击 显示 
2023-01-07 21:57
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1094
专家分:2693
注 册:2015-12-30
收藏
得分:7 
试试取消图片字段是否还慢,如果不慢了,那就是图片刷新造成的
我用过这种方式,后来放弃了,改成只显示当前记录的图片了
2023-01-07 22:03
asis
Rank: 1
等 级:新手上路
威 望:1
帖 子:43
专家分:7
注 册:2022-9-6
收藏
得分:0 
没有图片的记录,单击不卡,有图片的一点就卡住。
我用这个方法主要是能上下浏览表格时,图片能自动更新,速度尚可接受。但缺点是鼠标一单击就卡几秒。
上面这种方法就没有改进图片刷新的方法了吗?

您说:改成只显示当前记录的图片了 ,是指不在表格中显示图片了吗?
2023-01-07 22:08
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:7 
如果是图标问题不大,如果是大图片就没必要这样做,用一个image控件就可以,反正都是看完一个再看另一个。
2023-01-07 22:38
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:709
专家分:2848
注 册:2018-3-13
收藏
得分:7 
你说的记录数较多是过少?
我用你的示例,并另行复制了97张其他的图片,也就是总计100张不同的图片,未发现你描述的情况

这家伙很懒,啥也没留下
2023-01-08 00:34
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1094
专家分:2693
注 册:2015-12-30
收藏
得分:0 
没有图片的记录,单击不卡,有图片的一点就卡住。
那就看有图片的记录点击的时候做了什么
2023-01-08 07:43
asis
Rank: 1
等 级:新手上路
威 望:1
帖 子:43
专家分:7
注 册:2022-9-6
收藏
得分:0 
    问题找到了,是我在表格的INIT中加入了移动记录时亮条显示:THIS.setall("Dynamicbackcolor", "IIF(RECNO()=grno,RGB(234,236,245),RGB(255,255,255))","Column")
取消后,单击记录时不再有明显的卡顿和表格变空白现象。不取消即使只有一条记录,单击也会卡住。
   
图片附件: 游客没有浏览图片的权限,请 登录注册


    以上方法可以不把图片事先装入DBF表的备注字段再显示,仅需用一个字段存放图片文件的路径即可,实现起来相对简单。但单击记录时还是有一点响应时间,有时在1秒左右,
这是不足之处。
    大家在利用表格控件显示和浏览大量记录及其对应的图片时,有什么更好的实现方法,可以集思广益,提出来与大家参考。
   
2023-01-08 10:09
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
回复 7楼 asis
用PictureVal, 资源足可一次全部载入内存。
2023-01-08 12:18
asis
Rank: 1
等 级:新手上路
威 望:1
帖 子:43
专家分:7
注 册:2022-9-6
收藏
得分:0 
用PictureVal, 资源足可一次全部载入内存。
请问这个大概的实现步骤是什么?图片文件可以不事先写入DBF的备注字段吗?
2023-01-08 17:57
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:709
专家分:2848
注 册:2018-3-13
收藏
得分:0 
“但单击记录时还是有一点响应时间,有时在1秒左右”
说明你还没有找到卡顿的真实原因,用 backstyle 刷新一张图片,通常在 10ms 左右。最好放上真实的案例代码和数据

这家伙很懒,啥也没留下
2023-01-08 19:48
快速回复:表格中显示图片,当记录数较多时,单击表格会卡顿5秒并变成空白,过一 ...
数据加载中...
 
   



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

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