Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wie Integer über eine DBCombox mit Textinhalten auswählen? (https://www.delphipraxis.net/69690-wie-integer-ueber-eine-dbcombox-mit-textinhalten-auswaehlen.html)

BlueStarHH 18. Mai 2006 15:54

Datenbank: FireBird • Version: 1.5 • Zugriff über: TIBTable

Wie Integer über eine DBCombox mit Textinhalten auswählen?
 
Hallo,

ich habe eine FireBird Tabelle mit einem SmallInt-Feld. Diese Feld kann nur 0 oder 1 enthalten. Es dienst also als Bool-Feld, da FireBird kein Boolean-Feldtyp hat.

Ich möchte nun über eine DBComboBox die Werte 0 oder 1 in das Feld eintragen. Bei 1 soll "Bezahlt" eingetragen werden und bei 0 "Offen". Die DBComboBox soll für vorhandene 0- oder 1-Werte dann die entsprechenden Beschriftungen anzeigen.

Ist das mit der DBComboBox möglich oder brauche ich eine andere Komponente? Kennt jemand eine?

Mit meiner alten Datenbank Paradox war das ganz einfach. Dort gab es ein Boolean-Feld und man konnte einstellen, was für true und false für Texte angezeigt werden sollen.

Danke im Voraus!

mkinzler 18. Mai 2006 16:22

Re: Wie Integer über eine DBCombox mit Textinhalten auswähle
 
Du kannst ja den Index der Liste verwenden (1. Element ist 0)

marabu 18. Mai 2006 17:29

Re: Wie Integer über eine DBCombox mit Textinhalten auswähle
 
Mir scheint die Komponente DBLookupComboBox geeignet zu sein.

Grüße vom marabu

mkinzler 18. Mai 2006 18:04

Re: Wie Integer über eine DBCombox mit Textinhalten auswähle
 
Hallo Achim, für 2 Werte in der wertemenge eine DBlookupCombo?

marabu 19. Mai 2006 06:13

Re: Wie Integer über eine DBCombox mit Textinhalten auswähle
 
Hallo Markus,

warum denn nicht? Wenn die Zahl der Lookup-Werte größer wäre würdest du es doch auch so machen.

Nachdenkliche Grüße

raiguen 19. Mai 2006 08:32

Re: Wie Integer über eine DBCombox mit Textinhalten auswähle
 
Moin :-)
Und wie wär's mir einer DBCheckbox?
Code:
DBCheckBox1.Caption := 'Bezahlt';
DBCheckBox1.ValueChecked := '1';
DBCheckBox1.ValueUnchecked := '0';
andere Möglichkeit: 'normale' ComboBox mit den Items 'offen' und 'bezahlt' und im AfterScroll-Ereignis der Tabelle entsprechend dem Wert des Feldes den ItemIndex der Combobox setzen


Zitat:

Zitat von BlueStarHH
...Mit meiner alten Datenbank Paradox war das ganz einfach. Dort gab es ein Boolean-Feld und man konnte einstellen, was für true und false für Texte angezeigt werden sollen.
...

:gruebel: Sicher, dass Du DBCombobox meinst? :gruebel:

marabu 19. Mai 2006 08:45

Re: Wie Integer über eine DBCombox mit Textinhalten auswähle
 
DBCheckBox - die ist es. Manchmal bin ich mit Blindheit geschlagen.

marabu

BlueStarHH 19. Mai 2006 10:11

Re: Wie Integer über eine DBCombox mit Textinhalten auswähle
 
Ich mache es nur mit einer DBCheckbox. Obwohl ich ja eine ComboBox schöner finden würde, weil man da beide Text sehen kann. Wie das ganze mit einer DBLookupCombobox gehen soll ist mir nicht ganz klar. Wenn ich in die DBLookupCombobox die Werte "offen" und "bezahlt" eintrage, möchte die DBLookupCombobox die Werte in die DB eintragen. Die DB nimmt aber nur 0 und 1 an.

Zitat:

Zitat von raiguen
Zitat:

Zitat von BlueStarHH
...Mit meiner alten Datenbank Paradox war das ganz einfach. Dort gab es ein Boolean-Feld und man konnte einstellen, was für true und false für Texte angezeigt werden sollen.
...

:gruebel: Sicher, dass Du DBCombobox meinst? :gruebel:

Ja ich meine die DBCombobox. Bei Paradoxtabelle gibt es ein Boolean-Feld. Z.B. bei einer TTable- oder TQuery-Komponente ist dies das TBooleanField. Dort gibt es die schöne Eigenschaft DisplayValues := 'bezahlt;offen'; Das schöne daran ist, dass diese Text dann in allen Datenbank-Controls angezeigt werden. Z.B. also auch in einem DBGrid. Fürs DBGrid musste ich jetzt mit OwnerDraw etwas zusammenbasteln.

raiguen 20. Mai 2006 17:31

Re: Wie Integer über eine DBCombox mit Textinhalten auswähle
 
Zitat:

Zitat von BlueStarHH
Ja ich meine die DBCombobox. Bei Paradoxtabelle gibt es ein Boolean-Feld. Z.B. bei einer TTable- oder TQuery-Komponente ist dies das TBooleanField. Dort gibt es die schöne Eigenschaft DisplayValues := 'bezahlt;offen'; Das schöne daran ist, dass diese Text dann in allen Datenbank-Controls angezeigt werden. Z.B. also auch in einem DBGrid. Fürs DBGrid musste ich jetzt mit OwnerDraw etwas zusammenbasteln.

:roll: Das ist insofern richtig, da es sich um eine Eigenschaft für ein Tabellen-/QueryFeld handelt, aber nicht direkt mit der DBComboBox als solches, wie Deine Aussage in #1 vermuten ließ.

Wenn Du unbedingt mit einer DBLookupComboBox arbeiten möchtest, dann bleibt Dir wohl nix anderes übrig, als dafür eine Tabelle mit zwei Datensätzen ('offen', 'bezahlt') zu erstellen und diese Tabelle dann als ListSource zu verwenden...


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:47 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