質問: ページ分割と検索の両方を許可しながら、階層的な表形式のデータ(親/子関係)を表示するための最良の方法は何ですか? テーブルに階層データを表示するための適切な表形式のユーザーインターフェイスを考えながら、同時に検索インターフェイスとページネーションを含めて、レンガの壁にぶつかりました。テーブルの基本的な構造は次のようになります: ユーザーは、ページネーションインターフェイス(右下隅)にアクセスして大きなデータセットを分割したり、レコードを検索する検索機能(上部)にアクセスしたりできます。私が直面している問題の1つは、ページ付けに関して、子行の表示をどのように処理するかです。ページごとにx個のレコードを表示するときに、子の行(「ケースファン、サーマルコンポイントなど」)を数える必要がありますか?ユーザーがページを切り替えると、ユーザーが見ている親レコードのコンテキストが失われるため、私の直感では子供を数えないように指示しています。さらに、デフォルトで子行を非表示にしておくと(ユーザーが親の横の「プラス」アイコンをクリックしない限り)、テーブルがよりコンパクトに保たれるはずです。ただし、合計の子レコードを数えない場合、ユーザーはクエリで返された合計レコードの数を知りません(つまり、実際に20の追加レコードがある場合、テーブルの下部には「showing 1 record」と表示されます。テーブル内の子レコード)私が直面しているもう1つの問題は、子が検索に一致し、親が一致しない場合に検索結果をテーブルに表示する方法です。さらに、一致する親のすべての子を含める必要があるかどうかを知りたいです。たとえば、ユーザーが検索ボックスに「ケース」という単語を入力すると、次のような結果が返されます。 ユーザーは、階層のコンテキスト内で大文字小文字の一致をすべて表示します。ただし、子レコードがデフォルトで非表示になっている場合、「コンピュータハードウェア」が検索に一致したように見える可能性があります。この方法を使用すると、デフォルトですべての子行を表示する必要があるため、テーブルのサイズが拡大されます。別のオプションは、階層を完全に削除することです。これにより、ページ分割の問題と検索結果の問題の両方が解決されます。ただし、これを行うことの欠点は、ユーザーがレコード間の親子関係のすべてのコンテキストを失うことです。最後に、「コンピュータハードウェア」のような検索を実行して、一致するすべての子を自動的に含める必要がある場合に親カテゴリを返すかどうかについて知りたいです。技術的には、子レコードのタイトルに一致する文字列はありませんが、親の子として存在するため、一致に関連しています。あなたがこの主題について持つかもしれない洞察、アイデア、またはインスピレーションは、最も高く評価されます。私がインスピレーションを求めて検索した領域には、jqueryデータテーブルプラグインとapple os x finderインターフェースが含まれます。
回答: 一つの大きなリストが進むべき道だとは思わない。すべての親カテゴリを大きなタップ可能なボックスとして表示します。ユーザーがドリルダウンできるようにします。その方法で探しているものを見つけるのは、大きなリストをスクロールするよりも簡単になります。検索の場合、一致するすべてのエントリを表示します。各エントリには、親のクリック可能な階層を表示できます。