![]() |
Komponente gesucht
Hallo,
häufig schreibe ich Programm, die in irgendeiner Form Datenbanken bearbeiten. Die über Abfragen erhaltenen Daten werden angezeigt und können vom Benutzer dann verändert und in die Datenbank gespeichert werden. Eben der ganz normale Wahnsinn. Für statistische Zwecke schaffe ich gerne immer noch die Möglichkeit benutzerdefinierter Abfragen. Dabei nutze ich unterschiedliche Komponenten - meistens TEdit für Text und TCheckBox für ja/nein-Abfragen. Ein Beispiel: Um in der Abfrage alle Produkte mit einem bestimmten Namen zu finden, bietet sich TEdit natürlich an. Für die Farbe benutze ich hingegen gerne CheckBoxen. Also eine CheckBox für rot, eine für grün, eine für blau, usw... Dadurch kann man auch mehrere Produkte unterschiedlicher Farbe gleichzeitig finden. Also wenn die CheckBox für rot und blau auf True stehen, eben alle roten und blauen Produkte. Allerdings hat es sich oft gezeigt dass nicht nur eine positive Auswahl (also z.B. alle roten und blauen Produkte) sondern auch eine negative Auswahl (also z.B. keine grünen Produkte) gewünscht wird. Dafür bräuchte ich allerdings eine CheckBox mit drei Zuständen: 1. nicht ausgewählt, 2. positiv ausgewählt, 3. negativ ausgewählt. Bisher löste ich das Problem immer mit einer normalen CheckBox, die auch bei einem Rechtsklick gecheckt oder nicht gecheckt werden kann, deren Text bei Checked=True aber rot angezeigt wird und somit als negative Auswahl markiert ist. Aber auf Dauer ist das keine gute Lösung. Deshalb meine Frage an Euch: Kennt Ihr dafür eine brauchbare Komponente? Gruß e-gon |
AW: Komponente gesucht
Ich hätte das 2teilig gestaltet - erst die "Meta"-Auswahl (enthält/enthält nicht bei Checkboxen, enthält/startet mit/endet mit/enthält nicht.. bei Zeichenketten, gleich/ungleich/größer/kleiner bei Zahlen) und dann die Angabe des konkreten Werts bzw. der konkreten Werte.
|
AW: Komponente gesucht
Zitat:
Alternativ wechselst du auf Radiogroups. Das benötigt allerdings mehr Platz auf der Form. |
AW: Komponente gesucht
Danke für die schnellen Antworten!
Leider ist der Platz oft das Problem. Deshalb würde ich schon gerne das alles mit einer einzigen Komponente machen. Zweiteilig oder gar drei Radioboxen fressen einfach zu viel Platz. Stimmt! Die Eigenschaft AllowGrayed könnte ich evtl. dazu nutzen. Muss es mir mal genauer anschauen... Gruß e-gon |
AW: Komponente gesucht
Wie wäre es mit einer Combobox mit drei Einträgen: enthält / enthält nicht / egal ?
|
AW: Komponente gesucht
Dann mach es doch über ComboBoxen, der Platz ist identisch, oder FlowPanels.
|
AW: Komponente gesucht
Bei ComboBoxen ist das Problem, dass man mindestens zwei Klicks braucht, während es bei einer CheckBox (mit Rechts- oder Linksklick) derzeit nur ein Klick ist.
Ein Produkt kann nämlich bis zu 30 verschiedene Eigenschaften haben und, wenn diese wie bei den Farben aufgedröstelt werden, aus 10 oder mehr Möglichkeiten bestehen. Da spielt ein oder zwei Klicks durchaus eine Rolle. Deshalb ist die Eigenschaft AllowGrayed bei ComboBoxen auch nicht so geeignet. Mir kam aber gerade die Idee pro Möglichkeit ein einfaches TLabel zu nutzen und je nachdem wo der Benutzer hinklickt (vordere Bereich für positiv ausgewählt, mittig für nicht gewählt, hinterer Bereich für negativ ausgewählt) das Label mit entsprechender Hintergrundsfarbe zu markieren. Was haltet Ihr davon? Wäre sowas intuitiv? |
AW: Komponente gesucht
Liste der Anhänge anzeigen (Anzahl: 1)
Hy,
wenn du keine eigene Komponente bauen möchtest, geht es am schnellsten mit einer RadioGroup: 3 Spalten. Itmes: ja, nein, egal (oder so ähnlich ;) ) Das nimmt nicht viel mehr Platz ein... |
AW: Komponente gesucht
Das Problem ist, wir genau treffe ich die richtige Stelle. Genauso fände ich bei der Checkbox-Idee es evtl. unintuitiv mit der rechten Maustaste zu klicken, um zu negieren.
Variante: z.b. blaues Label: 1x klick ausgewählt, wird gehighlighted, 2ter klick negiert, 3ter klick wieder abgewählt? |
AW: Komponente gesucht
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz