web-dev-qa-db-ja.com

テーブルの検索に非表示の列を含める必要がありますか?

テーブルに検索コンポーネントが付いています。テーブルは、次のルールに従って入力時にアイテムをフィルタリングしています。

  • アイテムのプロパティの少なくとも1つに検索ボックスのテキストが含まれている場合-アイテムを表示します。
  • それ以外の場合-アイテムを表示しません。

現在、このテーブルでは、列を表示するかどうかをユーザーが選択できるため、役に立たないと思われる列を非表示(非表示)にすることができます。

問題は、対応する列が非表示になっているアカウントプロパティもフィルターに含める必要があるかどうかです

以下の例を確認してください:

  1. 検索ボックスは空です-すべてのテーブルアイテムが表示されます。
  2. 検索ボックスにテキストが含まれている-関連テキストのあるアイテムのみが表示されます。

さて、ニックネームの列が非表示になっている場合、テーブルには関連するアイテムが表示されますか(4)、表示されませんか(3)?

mockup

download bmml sourceBalsamiq Mockups で作成されたワイヤーフレーム

9
Assimiz

ジレンマを回避する

このジレンマに陥らずに可能な解決策があります:
チェックボックスを追加するだけで、ユーザーに選択肢を提供します「非表示列も検索する」または同様のテキストを指定する検索/フィルター入力の下。

mockup

download bmml sourceBalsamiq Mockups で作成されたワイヤーフレーム

何らかの理由でそれで十分でない場合は、4を選択します(列が非表示であっても結果を表示します)。

どうして?

  • オプション3を使用すると、ユーザーは最終的にどの列を非表示にしたかを忘れ、次に何かを検索しても結果は得られませんこれにより、ユーザー/レジストリはデータの一部ではないと考えるようになります。これは、ひどい結果をもたらすだけです。
  • 表示設定は、デフォルトではフィルタリング/検索設定と同じではありません。理由で何かを非表示/表示してから、さまざまな理由で特定の何かを検索できます。
  • オプション3を使用すると、ユーザーがフィルタリングした内容を思い出し、一部のデータを検索/フィルタリングしたい場合に追加のアクションを実行するように強制されます。したがって、責任をユーザーに委任し、認知的負荷とユーザーの作業を追加します。

より具体的な検索を提供する場合は、次のように役立ちます。

  • 列フィルタリングを追加すると、ユーザーは表示されている列の特定の値を検索して、上位の一般的な検索/フィルタリング入力を「searchどこにでも"。

enter image description here

10

最初は(4)を選択しますが、慎重に分析した結果、(3)があなたの設計により適していると思います。その理由は、検索自体が既にフィルタリングメカニズム(キーワード)であるためです。関連するボックスを非表示/表示することによって結果をさらにフィルタリングすることは意味がありません。また、列を非表示にすることを選択した場合、その特定の列に表示される結果には関心がないことを明示的に示しています。

単なる提案ですが、おそらく、表示/非表示ボックスの上に検索を配置することで、デザインを再配置できます。検索ラベルを「Search In ..」に変更して、ユーザーが1つ以上の列を検索できるようにします。

例..デフォルトでは、すべてのボックスがチェックされているため、すべての列で検索を実行する必要があります。すべてのボックスをオフにして「名前」のみを選択すると、検索は「名前」列でのみ実行されます。これは私にはもっと理にかなっています。

enter image description here

2
adamsoh

つまり、検索がデータ上にあるのか、それともデータの現在のビューだけなのかということになります。

個人的には4を選びます。時々、列が非表示ではなくスペースの制限のために非表示になることがありますが、ユーザーは最も関心のある列を保持する傾向があります。もう見えない。

したがって、オプション4ですが、表示された列に一致したかどうかで返された結果を並べ替えます。したがって、結果を2つの部分に分割できます。2番目はおそらく「興味があるかもしれません」というサブタイトルを付け、各結果の一致を引き起こしたフィールドを指定します(これは、検索エンジンからそのレベルのフィードバックを取得するか、結果が返された後にそれを推定することができます)

検索がテキストフィールドのみに設定されているように見える問題、その列が表示されているかどうかに関係なく、従業員のはい/いいえをどのように検索するか、または年齢についてはどうですか(完全一致のみと思われるか、「4 '24、34、40-49、54、64などの全員を返します)

2
mgraham

Adomsohが示唆したように、この列はユーザ​​ーとしてのあなたに関連しているか、または関連していません。列を非表示にすると、「この列は気にしません」と表示されます。その上で検索を実行することは、一貫性がなく混乱します。気になりますか?

検索クエリと結果を視覚的に関連付ける必要がないため、混乱を招きます。検索した行が一部の行の表示列と他の行の非表示の列で見つかった場合(たとえば、誰かの名前に「Peldi」が含まれ、他の誰かの非表示のニックネームに「Peldi」が含まれている場合)、さらに混乱する可能性があります。 。検索が壊れているように見えます。 「Peldi」を検索したところ、Peldiが含まれていない行が表示されています。

0
Bill Dagg