web-dev-qa-db-fra.com

Filtrage avancé dans la table de données

Le problème

J'ai un tableau de données, qui est sur un curseur, fixé à son bas. J'ai besoin d'un filtrage avancé des données. Par exemple:

 1. I want only the drug with exact name "Aspirin"
 2. I want drugs, that contain name "Aspirin" (e. g. "Aspirin for Kids")
 3. I want drugs, both "Lisoprophil" and "Aspirin"
 4. I want drugs, with exact name "Lisoprophil" and all that contain name "Aspirin"

De plus, je veux facilement revenir aux valeurs par défaut (ou effacer la sélection) ou désélectionner certains des critères.

Il existe une restriction technique - il doit s'agir d'une fenêtre contextuelle ou d'une boîte de dialogue ou de quelque chose qui n'est pas en plein écran.

enter image description here

Donc, ici, j'ai fait du travail. Mais, bien sûr, cela ne semble pas une solution parfaite.

  1. Je ne peux ajouter que des médicaments un par un (je dois quitter la fenêtre contextuelle, puis cliquer à nouveau sur l'icône de filtre)
  2. L'aspect et les options des fenêtres contextuelles ("Effacer tout") varient.

enter image description here

enter image description here

enter image description here

Désolé pour les erreurs de grammaire, le cas échéant

2
user80595

Pour le contenu du menu de filtrage, je suis d'accord avec la solution de @Alvaro.

Cependant, si vous trouvez que la mise en page actuelle est votre principal problème, je vous suggère d'utiliser un menu de type accordéon comme celui utilisé sur le filtre Gmail. C'est beaucoup plus ordonné à mon avis, car la position ne s'est développée qu'à partir de la disposition parent (dans votre cas, en-tête de tableau), il semble donc plus qu'elle n'appartient qu'à cette colonne.

enter image description here

1
Dolorosa

Si j'ai bien compris le cas, je suggère:

  • Conservez la modification du filtre (ajout, suppression, etc.) dans une boîte de dialogue.
  • Faites une distinction claire entre "nom exact" et "pourrait contenir".

Par exemple:

enter image description here

1
Alvaro