web-dev-qa-db-ja.com

大きなリストから要素を選択するためのユーザーインターフェイスデザイン

これがソフトウェアエンジニアリングのトピックに当てはまる質問かどうかはわかりません。

オブジェクト「Categories」と「CategoryValues」の2つのレベルがあります。ユーザーがそのアイテムから選択し、必要な数だけ選択するためのユーザーインターフェイスを構築する必要があります。

10または20のカテゴリがありますが、各カテゴリには1から(最悪の場合)1000のカテゴリ値を含めることができます。

例えば:

  • タイプ
    • 画像
    • 資料
  • 優先
    • 高い
    • カーディフ
    • ... +999以上。

したがって、特定のアイテムを分類するには、ユーザーはこのリストから選択する必要があり、これまでに選択されたものを確認する必要があります。

私は二重選択リストを考えましたが、リストが長すぎるため、多くのスクロールが必要になります(特に、多くのカテゴリー値がある場合)。同じことは2つのツリーにも当てはまります。これは、2つだけのレベルであるため、折りたたみの可能性があまりないためです。

ユーザーにそのような分類をさせる最良の方法は何ですか?

2
Chris

ユーザーが検索対象を知っている場合(都市の場合)、オートコンプリートをお勧めします。ユーザーに最初の3文字を入力させてから、それらの文字を含む検索結果をいくつか表示し(可能な場合はファジーロジックを使用)、フィールドに直接最も近い結果を表示しますが、ユーザーが入力を続けるとプロセスが続行されるように選択されます(もう一度検索してください)が、彼がTabキーを押すと、結果は残ります。

まあ、私は、質問が正しい場所にあるとは思いません。とにかく、私見の最良のアプローチは、カテゴリーを選択自体から分離することです。まず、最初のフィルターコントロールとしてComboBoxを使用できます。そこで、選択を行う前にカテゴリを選択できます。これは、ユーザーに特定のコンテキストを提供し、ユーザーが集中するのに役立ちます。

カテゴリを選択すると、ユーザーはこのカテゴリで利用可能なすべてのアイテムをListBoxで表示します。これにより、スクロール可能なコンテンツの量が減っています。

ListItemは、チェックボックスとアイテムの名前にすることができます。 CheckBoxをチェックすると、アイテムが選択されます。 CheckBoxは物事を選択する非常に明示的な方法であるため、ユーザーが解釈する必要はありません。

アイテムの量を効率的に処理するには、いくつかのフィルターを提供する必要があります。 ListBoxの下。

  • CheckBoxすべてのSelectedまたはUnselectedアイテムを表示します。

  • ユーザーが検索用語を入力できるTextBox。入力された用語に従って、使用可能なアイテムはListBoxでフィルタリングされます。

選択UserControlの下に、すべてのカテゴリのすべての選択されたアイテムに関する概要を提供する要約領域を置くことができます。ここでは、巧妙な概念も必要になります。

0
DHN