找回密码
 立即注册

QQ登录

只需一步,快速开始

chenguohui1980

注册会员

3

主题

11

帖子

38

积分

注册会员

积分
38
最新发帖
chenguohui1980
注册会员   /  发表于:2019-12-19 21:54  /   查看:4083  /  回复:6
c1flexgrid功能很强大,随机函数生成一个10列,100000行的表格不超过0.3秒,拖拽滚动条也没有卡顿的感觉。我希望使用自定义单元格,如第一、二、四、六列允许合并,每列3行合并,即flex[1,1]、flex[2,1]、flex[3,1]为一个合并单元格,flex[4,1]、flex[5,1]、flex[6,1]为一个合并单元格。我的做法是设置AllowMerging为Custom,用MergedRanges加入所有的合并单元格。这时,拖拽滚动条就出现了卡顿。有没有什么好的解决方式?

6 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-12-20 11:39:19
沙发
这个Merge 导致的卡顿问题在老版本确实存在,但是在新版本已经修复了,

我不确定具体和你现在说的是不是一个问题。最好你可以发我一个demo过来,我用新版本帮你测试一下
回复 使用道具 举报
chenguohui1980
注册会员   /  发表于:2019-12-21 09:17:44
板凳
我找到解决方法了!受你们的例子的启发,设置AllowMerging为Free,重写GetData函数,问题得到完美解决,感谢!
回复 使用道具 举报
chenguohui1980
注册会员   /  发表于:2019-12-22 08:51:02
地板
重写GetData函数产生了新的问题,这个方法不能用!最好的方法还是之前的添加合并单元格的方式,但合并单元格前拖拽流畅,合并单元格后就有了卡顿的情况。我把demo上传,你看看可有办法?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-12-23 09:17:58
5#
收到,我这边帮你验证

AllowMerging为Free时,是自动合并,如果你是要任意合并单元格的话,还是用自定义合并会更灵活一些
回复 使用道具 举报
chenguohui1980
注册会员   /  发表于:2019-12-23 13:59:23
6#
自动合并很流畅,但不能满足要求。自定义合并能随意设置,但用户体验差。如果显示50列,1万行的表,自定义合并的卡顿感非常明显!
设置AllowMerging为Free时,有没有哪种方式,能够实现单列每5行合并成一个单元格呢?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-12-23 16:36:02
7#
测试的效果来看,卡顿并不是很严重,只是在用滚动条滚动时才会出现行滚动不流畅的现象,这个属于控件的性能问题暂时没有办法解决,

对于滚动条滚动卡顿,我建议可以用延迟滚动来避免,也就是在鼠标释放时再跳转到对应行位置
  1. c1FlexGrid1.ScrollOptions = C1.Win.C1FlexGrid.ScrollFlags.DelayedScroll;
复制代码



回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部