搜索
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 请教Grid如何实现各行不同的RowHeight
标题:
请教Grid如何实现各行不同的RowHeight
取消只看楼主
whinda
等 级:
贵宾
威 望:
13
帖 子:253
专家分:418
注 册:2012-2-4
结帖率:
66.67%
楼主
已结贴
√
问题点数:20 回复次数:4
请教Grid如何实现各行不同的RowHeight
一个日志办公软件,用Grid显示计划、总结、建议等内容(当然是Memo字段了,且有换行,故Grid中换成了EditBox显示),当然可以通过FontMetric等取得内容的高、宽去调整行高行宽,但是问题来了,一调整所有行都调了,求教如何实现每行不同的行高。谢谢。
有用过MSHFlexGrid,能实现,但是数据超过1000条,那是太慢了,半小时以上还没调整完,100条记录都要调整5秒。所以不考虑MSHFlexGrid.
搜索更多相关主题的帖子:
Grid
不同
内容
调整
MSHFlexGrid
2018-11-22 13:23
whinda
等 级:
贵宾
威 望:
13
帖 子:253
专家分:418
注 册:2012-2-4
第
2
楼
得分:0
老大,我就是用的EditBox,现在的问题是老板要求自适应行高,各行内容有3行的有5行的,Grid有不有方法实现各行不同行高。
现有的RowHeight是会对所有行的,一调就全调了。想实现的就是第1行高25,第2行高30,第3行高49等,诸如此类,各行能各自显示完该行的内容。
2018-11-22 17:57
whinda
等 级:
贵宾
威 望:
13
帖 子:253
专家分:418
注 册:2012-2-4
第
3
楼
得分:0
GridTest.rar
(7.41 KB)
附件中有个样本,就是不能实现。
上面的是MSHFlexGrid,可以调整,100条记录都要好久
下面是VFP的Grid,现在是动态依照内容调整当前行的高,当然一调所有行也调了。
2018-11-22 18:36
whinda
等 级:
贵宾
威 望:
13
帖 子:253
专家分:418
注 册:2012-2-4
第
4
楼
得分:0
回复 5楼 csyx
谢谢你的提议,这个方法确实好,固定缇到像素的转换比到1:15,减少了函数调用。
但是MSHFlexGrid是针对VB的东西,数据内部处理就是用的数组操作,反应确实太慢了,就按这样优化后也要5秒左右,不过100条记录。试想一个公司100人(实际有300多人啊),按20天上班每月,那将是2000条记录,至少是20倍于这个时间(实际可能更多,二维数组更大了),所以我不选用MSHFlexGrid。尝试修改_Grid的基类,实在找不到法门。
2018-11-22 21:11
whinda
等 级:
贵宾
威 望:
13
帖 子:253
专家分:418
注 册:2012-2-4
第
5
楼
得分:0
回复 7楼 csyx
你的思路是对的,谢谢。就是调整可见行。TopRow取置顶行号,Rows取当前可见行数,估计也就10条记录。置于宽有ScrollBar就先不管它了。
至于Scroll事件,因为MSHFlexGrid没有MouseWheel,我是把窗口(_Screen)的MouseWheel绑到了容器(Form)上,再结合Amouse()看鼠标是否在MSHFlexGrid上,不晓得会不会触发它的Scroll。
谢谢你的提醒,我先按这个思路去改。谢谢。
2018-11-23 13:24
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-491462-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.639438 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved