AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente gesucht

Ein Thema von e-gon · begonnen am 8. Jun 2018 · letzter Beitrag vom 8. Jun 2018
Antwort Antwort
Seite 1 von 3  1 23      
e-gon

Registriert seit: 7. Jul 2003
Ort: Stuttgart
163 Beiträge
 
Delphi 6 Enterprise
 
#1

Komponente gesucht

  Alt 8. Jun 2018, 10:38
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
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Komponente gesucht

  Alt 8. Jun 2018, 10:44
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.
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Komponente gesucht

  Alt 8. Jun 2018, 10:48
Dafür bräuchte ich allerdings eine CheckBox mit drei Zuständen: 1. nicht ausgewählt, 2. positiv ausgewählt, 3. negativ ausgewählt.
Schau dir dazu mal die Eigenschaft AllowGrayed an.
Alternativ wechselst du auf Radiogroups. Das benötigt allerdings mehr Platz auf der Form.
Peter
  Mit Zitat antworten Zitat
e-gon

Registriert seit: 7. Jul 2003
Ort: Stuttgart
163 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Komponente gesucht

  Alt 8. Jun 2018, 10:55
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
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#5

AW: Komponente gesucht

  Alt 8. Jun 2018, 11:17
Wie wäre es mit einer Combobox mit drei Einträgen: enthält / enthält nicht / egal ?
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Komponente gesucht

  Alt 8. Jun 2018, 11:18
Dann mach es doch über ComboBoxen, der Platz ist identisch, oder FlowPanels.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
e-gon

Registriert seit: 7. Jul 2003
Ort: Stuttgart
163 Beiträge
 
Delphi 6 Enterprise
 
#7

AW: Komponente gesucht

  Alt 8. Jun 2018, 11:47
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?
  Mit Zitat antworten Zitat
Benutzerbild von rapante
rapante

Registriert seit: 3. Jun 2009
Ort: OPR
172 Beiträge
 
Delphi 12 Athens
 
#8

AW: Komponente gesucht

  Alt 8. Jun 2018, 12:08
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...
Miniaturansicht angehängter Grafiken
radio.jpg  
Micha
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#9

AW: Komponente gesucht

  Alt 8. Jun 2018, 12:10
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?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Komponente gesucht

  Alt 8. Jun 2018, 12:22
Stimmt! Die Eigenschaft AllowGrayed könnte ich evtl. dazu nutzen. Muss es mir mal genauer anschauen...
Und gesetzt wird über das Property State (cbChecked, cbUnchecked und cbGrayed)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz