16.2.6 第五行筛选前未被隐藏,筛选后,再取消筛选,第五行被遮挡
本帖最后由 Richard.Huang 于 2024-2-1 16:56 编辑产品:SpreadJS
版本:V16.2.6
调研编号:SJS-22520
LastReview:2024/2/1
该问题已经在V17.0.3中得到修复,您可以通过升级版本来解决该问题
16.2.6 冻结窗口的情况下,第五行筛选前未被隐藏,筛选后,再取消筛选,第五行被遮挡,需要手动下滑动展示
您好,我查看了您的录屏,也复现了您描述的情景,但是取消筛选后,并不是筛选掉的行没有展示出来,只是被冻结行给遮住了。请问您的需求是什么,具体使用场景是什么,这个被遮挡的设计会影响您的什么业务呢。
请详细描述您的场景等信息,我们下来会对您描述的内容进行讨论,看能否提供相应的解决方案或者作为需求提上日程。 用户反馈,这个问题非常影响体验 拾趣ヾ 发表于 2023-12-6 18:29
用户反馈,这个问题非常影响体验
您好,了解您的需求了,根据您的需求,我想我们可以维护一个变量记录用户当前的top行,然后我们通过监听用户清除筛选的操作来将遮盖的行展示出来,示例代码如下,其中topRowIndex是一个全局变量
topRowIndex = sheet.getViewportTopRow(1);
sheet.bind(GC.Spread.Sheets.Events.TopRowChanged, function (sender, args) {
topRowIndex = args.newTopRow
});
spread.bind(GC.Spread.Sheets.Events.ActiveSheetChanged, function (sender, args) {
topRowIndex = args.newSheet.getViewportTopRow(1);
args.oldSheet.unbind(GC.Spread.Sheets.Events.TopRowChanged);
args.newSheet.bind(GC.Spread.Sheets.Events.TopRowChanged, function (sender, args) {
topRowIndex = args.newTopRow
});
});
spread.commandManager().addListener("anyscLicenser", function () {
for (const element of arguments) {
let cmd = element.command;
if (cmd.cmd === "Designer.clearRowFilter") {
var as = spread.getActiveSheet();
as.showRow(topRowIndex, GC.Spread.Sheets.VerticalPosition.top);
}
}
});
后续我们会对该需求进行讨论,本贴将被移动到需求反馈区
现在业务补丁太多,框架能不能在功能层面解决这个问题呢 您好,这个目前没有更好的解决方案了。
我们这边将这个问题提给产品那边,并添加到产品需求库中了,后续有进展的话我会在本贴中回复您。 我理解这个问题可能是个bug,如果是需求的话这么设计是出于怎样的考量呢 本帖最后由 Richard.Huang 于 2024-1-23 11:18 编辑
拾趣ヾ 发表于 2023-12-14 10:46
我理解这个问题可能是个bug,如果是需求的话这么设计是出于怎样的考量呢
该设计从版本之初就存在,对于该问题还需要进行调研,包括您所说的当初设计时的考量,也需要进行调研。调研编号:SJS-22520 此问题已在17.0.3版本修复,您可以实际下载测试下。
页:
[1]