web-dev-qa-db-ja.com

含む長いリストを検索/フィルタリングする方法ツリー構造とフラット構造?

私は現在、ユーザーがグループに関する情報を表示するためにグループを選択する必要があるソフトウェアに取り組んでいます。

詳細は次のとおりです。

  1. ユーザーは一度に1つのグループのみを選択する必要があります
  2. リストは非常に長いリストです(1 000 000以上のエントリを含めることができます)
  3. このリストには、ツリー構造に配置されたグループが含まれています。ツリー構造は「n」レベルの深さにすることができます
  4. ツリー構造のサブグループには同じ名前を付けることができるため、サブグループを選択できるようにするには、コンテキストを認識する必要があります。
  5. このリストには、フラット構造のグループも含まれています。
  6. ツリー構造とフラット構造は同じスペースで管理する必要があります。
  7. ユーザーは、あるグループ選択から別のグループ選択に簡単に移動できる必要があります。

ドロップダウンボックスが機能しないことは明らかです。

1つの選択肢は、次のように入力を開始すると短くなるリストを表示する入力ボックスです。

enter image description here

これは非常に長いリストの場合は適切ですが、2種類のグループが複雑になるためです。

enter image description here

リストはフィルタリングされますが、ユーザーがサブグループが属する場所に関するコンテキストを確認できるように、親グループを含める必要があります。

私が試すことができる最後のオプションの1つは、ブレッドクラムを使ったiPodスタイルのナビゲーションです。ここで、最高レベルから開始して、目的のグループに到達するまでオプションをナビゲートできます。

enter image description here

これはコンテキストには役立ちますが、非常に長いリストには役立ちませんか?

私の質問:このタイプの検索/フィルターの例として、うまく機能するものはありますか?それとも、これをより良くする方法を誰かが知っていますか?おそらく同じ入力ボックスを使用してフィルターでフィルターを実行する方法はありますか?

ミラー列(Mac OSXファイルナビゲーションで使用される)と各列の下のテキストフィルターボックスを組み合わせたように聞こえるかもしれません。複数の深さでフィルターをかけたり、任意のポイントからのパスを表示したりできるためです。各列で選択されたノードによって、ルートノードに。

enter image description here

ただし、Miller Columnsはインタラクションの観点から何を追加するか、画面の面積の観点から取り去るので、これは小さな画面のモバイルデバイスには適さない可能性があり、スワイプ画面のドリルダウンシーケンスは機能しますが、機能しませんモバイルでの頻繁な使用に望ましい。

3
Roger Attrill