0

http://gridster.net/から派生したグリッドがあります。

  • グリッドの列は、異なるタイプのエンティティとして表示されます。
  • 行は優先度として認識されます。

グリッドの例

各セルはこのようなオブジェクトです

実在物

  • ID
  • 名前
  • 優先順位
  • TypeId

注: Priority と TypeId はどちらも Int であり、実際には、このグリッドを生成するときのグリッド/列の場所に関連しています。

私の問題: セルが移動するたびに、そのセルの TypeId と Priority を更新し、移動した可能性のある他のセルを検出する必要があります。

通常、これは優先度 + 1 以下のすべてのセルを一括更新することを意味します (下に移動したため)。

この解決策は明らかに機能しますが、この設計と、実際にはデータベース内の別のテーブルを切り離して、優先度を追跡する役割を果たしたいと考えています。(グリッド ID に強く関連付ける必要はありませんが、優先度による並べ替えのようなことができるはずです) 順序/優先度を担当する他のテーブルと一緒に。特に、別のグリッドがあり、いくつかのエンティティのみを表示する場合。

Linked list のアプローチがいいのではないかと思いました。上と下を追跡している場所 (前と次) ですが、クエリを実行するのは非常に困難です。

何か案は?

4

1 に答える 1