Ich habe Schwierigkeiten, verschachtelte Bedingungen auf einer intuitiven Schnittstelle abzubilden.
z.B.. Wie würden Sie ((Bedingung1 UND Bedingung2) ODER (Bedingung1 UND Bedingung5)) UND Bedingung4 darstellen?
Ich habe Schwierigkeiten, verschachtelte Bedingungen auf einer intuitiven Schnittstelle abzubilden.
z.B.. Wie würden Sie ((Bedingung1 UND Bedingung2) ODER (Bedingung1 UND Bedingung5)) UND Bedingung4 darstellen?
Wenn dies wichtig genug ist, um viel Zeit darauf zu verwenden, würde ich die Verwendung von Venn-Diagrammen in Betracht ziehen. Die Visualisierung wird die Ergebnismengen und nicht die Abfragebegriffe darstellen. Zur Veranschaulichung von UND würden Sie also zwei Kreise zeigen, die die Ergebnisse darstellen, und die Überschneidung zwischen ihnen hervorheben (Schnittpunkt).
Zur Veranschaulichung von ODER zeigen Sie die beiden Kreise und heben die Verbindung der beiden hervor.
Um dann die gesamte mehrteilige Abfrage anzuzeigen, können Sie entweder fünf Kreise mit einer Kombination aus Vereinigung und Schnittmenge anzeigen oder jede Klammer kombinieren und dann die Details ausblenden, so dass die Ergebnisse einen neuen Kreis bilden, der mit anderen Elementen kombiniert werden kann. Hier gibt es viele Möglichkeiten zum Ziehen und Ablegen und zur dynamischen Größenanpassung von Unterklauseln für mehr Übersichtlichkeit.
Um dies intuitiv und benutzerfreundlich zu gestalten, wäre einiges an Arbeit nötig, aber für einige Anwendungen wäre es eine wirklich leistungsfähige Schnittstelle.
Schauen Sie sich eine der Live-Demos für EasyQuery an:
http://devtools.korzh.com/easyquery/livedemos/
Es handelt sich um eine kommerzielle Software, aber der Abschnitt "Bedingungen" ermöglicht es Ihnen, einzelne Bedingungen oder Gruppen von Bedingungen hinzuzufügen, wodurch ein Großteil der Komplexität von Klauseln mit mehreren UNDs und/oder ODERs beseitigt wird. Es ist sehr gut gemacht und einfach zu benutzen.
(Ich bin nicht mit EasyQuery verbunden, nur beeindruckt von ihrem Query Builder).
Die beste Schnittstelle, die ich dafür gesehen habe, war ein selbst entwickeltes Steuerelement, das einen Baum zeichnete, um die Reihenfolge der Operationen deutlich zu machen. Ich habe noch nie ein Steuerelement eines Drittanbieters gesehen, das dies tat, aber ich habe auch nicht nach einem gesucht.
Ich habe früher an einem System gearbeitet, bei dem wir eine boolesche Logik ähnlich der folgenden ausgerichtet haben.
Die rechten Spalten (Inner) und (Outer) bieten zwei Logikebenen.
Variable Inner Outer
Condition1 And
Condition2 Or
Condition1 And
Condition5 And
Condition4
Or more optimized...
Condition4 And
Condition1 And
Condition2 Or
Condition5
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.