1ページあたり40要素のページ番号を付けたテーブルに表示している100個以上のデータのリストがあるとします。
各行には、ユーザーが個々のアイテムを選択/選択解除できる「選択」チェックボックスがあります。リストの一番上には、'select/unselect all'
チェックボックスもあります。現時点では、ユーザーがそのチェックボックスをクリックしたときに、ページに現在表示されている要素に対してのみ選択を切り替えるアクションが実行されるように設計された機能があります。 'select all'
のベストプラクティスは何ですか?
アクションが動作する必要があります:
a)ページ付けされる可視要素のみ、または
b)リスト全体?
Gmailはかなりうまく機能し、しばらくの間使用されています。
まず、特定の文字列(この場合は、処理するための大量の結果を提供する 'ebay')を検索し、ページのすべてを選択することを選択すると(左上のチェックボックスから)、メッセージが生成されます。言って:
このページの20件すべての会話が選択されています。 'この検索に一致するすべての会話を選択'
右上には「1〜20の多数」というテキストがありますが、より妥当な数(たとえば、全体で100)がある場合は、「多数」だけではなく実際の数が表示されます。
次に、その「すべて選択」メッセージを選択すると、選択内容が更新されて表示されます。
この検索のすべての会話が選択されています。 選択をクリア。
そのため、画面上で1つだけを選択する機能をユーザーに提供し、さらに使用可能な追加の数を示すこともできます。ユーザーがアクションを確認する前に、現在表示しているリストと完全なリストを切り替えられるようにします。
表形式のデータの場合は、チェックボックスに矢印を付けて、表示されているアイテム、すべてのアイテムを選択し、アイテムの選択を解除するオプションを提供することもできます。デフォルトのアクションはページの選択です。
ページ分割は視覚的な負荷を軽減するのに優れていますが、レコードを操作する場合、多くの機能上の問題が発生します。
ユーザーに表示されないレコードは選択しないでください。そうすることで、誤動作(および場合によってはデータ損失)への扉が開かれます。
select all
は、提案しているボタンに適した名前ではありません。ページのレコードのみが選択されている場合、select page
に沿ったものははるかに優れています。あなたは明らかに両方のボタンを提供することができます。
プロジェクトの開発段階でphpMyAdminを使用している場合、この問題は何度も発生します。テーブルには30を超えるレコードがありますが、現在のビューには30しかありません。それでも、ユーザーがレコードを削除または変更するには、すべてのレコードを選択する必要があります。 phpMyAdmin内でこれを実現する方法は、ユーザーがページごとのレコードの量を制御できることです。したがって、レコードの量に設定し、すべてを選択して、必要なことを実行するだけです。
Webアプリを設計している場合は、実際にselect all records
などの機能を実装できるかどうかを開発チームに確認する必要があります。ほとんどの場合、ページ付けはリモートで行われ、ページレコードのみが読み込まれます。そのため、プログラマーはすべて選択機能を実装するのが非常に困難になる可能性があります。
私はあなたが今それを持っている方法に固執します。 「すべて選択」して、現在表示できないアイテムに対してユーザーがアクションを実行できるようにする必要はありません。その結果として発生する可能性のある予期しない結果にはさまざまな種類があります。