请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

BBOY

注册会员

5

主题

13

帖子

66

积分

注册会员

积分
66
最新发帖
BBOY
注册会员   /  发表于:2025-4-24 13:59  /   查看:100  /  回复:6
10金币
本帖最后由 BBOY 于 2025-4-24 14:01 编辑

image.png201244506.png
当数据有20w条时,这个筛选弹窗打开太慢了,每次打开都需要6秒左右;附件中有复现demo

我希望能得到的效果:
1.商品编码这一列我不需要所有的编码选项,能不能屏蔽掉,只保留文本筛选,这样能不能提高打开弹窗的速度
image.png843106994.png
2.分类这一列,我需要所有的分类选项来筛选,我能不能自己通过接口拿到所有的分类选项,然后通过代码去设置分类选项,这样是否能提高打开的速度,如果不行,有什么方式可以对这个筛选进行优化
image.png622858581.png


test-demo.zip

121.16 KB, 下载次数: 2

最佳答案

查看完整内容

您好, 一方面可以尝试重写openFilterDialog函数来控制列表的显示,如: let oldOpenLogic = GC.Spread.Sheets.Filter.HideRowFilter.prototype.openFilterDialog; GC.Spread.Sheets.Filter.HideRowFilter.prototype.openFilterDialog = function () { console.log("test", arguments); let row = arguments[0].row; let col = arguments[0].col; if (sheet.getValue(row, col) == "Order Date ...

6 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2025-4-24 13:59:27
来自 2#
您好,

一方面可以尝试重写openFilterDialog函数来控制列表的显示,如:

let oldOpenLogic =
  GC.Spread.Sheets.Filter.HideRowFilter.prototype.openFilterDialog;
GC.Spread.Sheets.Filter.HideRowFilter.prototype.openFilterDialog =
  function () {
    console.log("test", arguments);
    let row = arguments[0].row;
    let col = arguments[0].col;

    if (sheet.getValue(row, col) == "Order Date") {
      arguments[0].rowFilter.filterDialogVisibleInfo({
        listFilterArea: false,
      });
    } else {
      arguments[0].rowFilter.filterDialogVisibleInfo({
        listFilterArea: true,
      });
    }
    return oldOpenLogic.apply(this, arguments);
  };

image.png434242553.png

image.png685337829.png

或者,也可以使用V18推出的DataManager绑定表格的方法,相比旧版本速度有所提升。

目前暂时没有接口可以手动控制列表中的选项。
回复 使用道具 举报
BBOY
注册会员   /  发表于:2025-4-24 18:00:08
3#
只针对打开筛选弹窗很慢的这个问题,只有V18的DataManager这一个优化办法了吗
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2025-4-25 09:34:23
4#
您好,暂时没有除楼上以外的其他优化方案了。
回复 使用道具 举报
BBOY
注册会员   /  发表于:2025-4-25 09:41:33
5#
好的,我这边还有一个问题,我这个demo的筛选是在制作模版的时候开启的,我现在想把筛选里面的listFilterArea关掉,下面是我新增的代码,但是没生效,可以帮我看看吗
image.png254478759.png
回复 使用道具 举报
BBOY
注册会员   /  发表于:2025-4-25 10:23:24
6#
上面的问题原因找到了,已解决
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2025-4-25 13:38:41
7#
好的,那就先结贴了,后续有其他问题的话随时开新帖提问哈。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部