【问题标题】:Tabulator: Top and button calc not shifting position when a column is toggled. How to toggle column and refresh table without losing scroll position?制表符:切换列时,顶部和按钮计算不会移动位置。如何在不丢失滚动位置的情况下切换列和刷新表?
【发布时间】:2020-03-16 21:43:30
【问题描述】:

我的目标是能够切换切换的可见性并保持相同的格式。目前,我使用过滤器的解决方案可以做到这一点,但会丢失制表符的当前滚动位置。这是不可接受的。

$("#toggleNotes").change(function () {
    // Toggles the visibility of the Notes column.
    $("#allocations-table").tabulator("toggleColumn", "Notes");
    $("#allocations-table").tabulator("setFilter", "AllocationId", ">", -1);
});

不使用过滤器会导致顶部和底部计算不移动以适应新列。是否可以移动顶部和底部计算?有没有一种方法可以重新计算列顶部和底部计算,而无需每次都重置表格?

我使用的是制表符 3.5,但无法升级到最新版本。

PS:感谢您免费提供制表器。

【问题讨论】:

    标签: javascript jquery tabulator


    【解决方案1】:

    即使在 v4.9 上性能发生了变化,但仍然存在或产生了一些问题。bottom/top calc 在 4.9 版中水平滚动时也存在问题。 RTL languages 也有问题。我附上了使用Tabulator 4.9 生成的示例表的示例图像。 例如,如果我们激活 Frozen Column 并同时将方向设置为 RTL,则冻结的行向左浮动,而它应该固定在表格的右侧。 我已经轻松地在我的自定义 css 上修复了酸痛的 carret 位置,但其他的仍然存在。

    这些只是使用 Tabulator 新版本的最初几个小时的一些问题。

    【讨论】:

      【解决方案2】:

      这是 Tabulator 中的一个错误。如果滚动,它会导致重绘,将底部或顶部的计算行移动到正确的位置。您可以通过移动滚动位置来强制它。

      cell.getElement().closest('.tabulator-tableHolder').scrollLeft += 1;
      

      【讨论】:

        【解决方案3】:

        您需要升级到较新版本的 Tabulator 才能克服这些限制。 4.6版是当前版本

        Tabulator 4 带有jQuery Wrapper,因此您可以像以前一样继续使用它。并且文档有一步一步的Upgrade Guide 指导您完成更改。

        我已经升级了包含数百张表格的网站,根据表格的复杂程度,它需要几分钟到几个小时的时间

        【讨论】:

        • 只是为了澄清。 4.6 版是否会在添加新列时移动顶部和底部计算,并包括一种重新计算列顶部和底部计算的方法,而无需每次都重置表?如果是这样,我会尝试再次升级。
        • 是的,在 4.x 版本中对表格的每个部分都进行了重大升级
        猜你喜欢
        • 1970-01-01
        • 2017-03-13
        • 2022-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-17
        相关资源
        最近更新 更多