隐藏冻结行后冻结位置发生变化 - NatTable
Freeze position is changing after hiding the freeze row - NatTable
我在 NatTable 上使用 freeze、hide 和 showall。当我在任何行上执行冻结时,让我们假设第 3 行并隐藏该行,然后冻结指示器转移到前一行,即第 2 行。当我执行 showAll rows 时,冻结指示器保持在第二行下方。如果我重复隐藏冻结行并执行全部显示,在某一点冻结指示器将在第一行上方,然后在重复一次后消失。
Freeze performed on 3rd row
Hiding the 3rd row
Performing show all rows
这是预期的行为还是问题?
如果是问题,如何解决?
冻结状态是基于位置的。如果您在冻结边框上隐藏一行,则无法识别再次可见的行是冻结区域还是 non-frozen 区域的一部分。目前,实现将这种情况解释为新的可见列属于 non-frozen 区域。 IIRC 做出此决定是因为冻结区域通常是不可修改的,这意味着用户不应在冻结区域中以交互方式隐藏行或列。至少对于我参与的项目来说是这样。这当然是可以讨论的,但现在就是这样。因此,如果您需要支持固定的冻结边框并允许隐藏在冻结区域中,您可能需要通过事件侦听器确保在结构更改时冻结边框保持在其固定位置。
我在 NatTable 上使用 freeze、hide 和 showall。当我在任何行上执行冻结时,让我们假设第 3 行并隐藏该行,然后冻结指示器转移到前一行,即第 2 行。当我执行 showAll rows 时,冻结指示器保持在第二行下方。如果我重复隐藏冻结行并执行全部显示,在某一点冻结指示器将在第一行上方,然后在重复一次后消失。
Freeze performed on 3rd row
Hiding the 3rd row
Performing show all rows
这是预期的行为还是问题? 如果是问题,如何解决?
冻结状态是基于位置的。如果您在冻结边框上隐藏一行,则无法识别再次可见的行是冻结区域还是 non-frozen 区域的一部分。目前,实现将这种情况解释为新的可见列属于 non-frozen 区域。 IIRC 做出此决定是因为冻结区域通常是不可修改的,这意味着用户不应在冻结区域中以交互方式隐藏行或列。至少对于我参与的项目来说是这样。这当然是可以讨论的,但现在就是这样。因此,如果您需要支持固定的冻结边框并允许隐藏在冻结区域中,您可能需要通过事件侦听器确保在结构更改时冻结边框保持在其固定位置。