2017-09-04 42 views
0

我们有要求重新排列光滑的网格行。重新排列光滑的网格中的行

我在每一行都有向上/向下的图标,我想要实现动画,点击'向上'图标应该将行向上移动'1'位置,但是光标不能将其焦点从当前行移开。其他行应重新排列他们对'点击行'的立场。

请建议解决这个问题。谢谢

+0

这个问题需要更多的细节。当你点击图标时,视图向上移动了多少行?当你说'光标不能移动它的焦点'时,你的意思是它保持在屏幕上的同一个位置,这意味着现在不同的行具有焦点? –

+0

添加了更多有问题的细节。 所以,基本上我想实现这一点,不要移动UI上的点击行,但其他行应重新排列在UI上。 例如:如果我在UI上点击了第3行的'向上'按钮,第2行应该向下移动,并且光标位置不应该从第3行'向上'按钮移动。 – ggtffg

回答

0

你基本上想要一个排序功能。我选择的方法取决于后端数据库如何存储排序顺序,如果你坚持数据库。
如果不持久化数据,

  • 通过任何你想要的其他列是默认的排序顺序创建一个额外的列SortOrder的,排序并设置SortOrder的1,2,3,...,N
  • 创建使用格式化的按钮,使上/下按钮调用JavaScript是
    • 开关与前行的排序号/后
    • 度假村和重新渲染电网
    • 组使用grid.setActiveCell()和grid.focus()

Pesonally聚焦(如果需要的话),以所需的行,我存储SortOrder的作为INT数据库列,并将其设置为所有如果不需要自定义排序,则可以使用次级默认排序列。然而,排序索引算法显着更复杂。