![]() |
Datenbank: BDE • Version: 7.0 • Zugriff über: Table&Query
DBlistbox ?
hallo,
bin noch ein anfänger in der datenbankprogrammierung, habe mir das tut von martin strohal durchgelesen, das hat alles gefunzt,jetzt wollte ich mit einer DBListBox arbeiten, aber er läßt mich nichts eingeben während derlaufzeit, bei DBEdit oder DBMemo hat das gefunzt, was mache ich da falsch, muß ich vorher eine andere tabelle erstellen, habe paradox7 und den typ alpha gewählt ? mfg vader |
Re: DBlistbox ?
Hallo Vader,
hast du denn auch vorher die möglichen Eingabewerte in der Eigenschaft Items der DBListBox eingetragen? Grüße vom marabu |
Re: DBlistbox ?
Wenn die auszusuchenden Werte sich auch in einer Datenbank befinden, kannst du auch eine TDBLookupComboBox verwenden der kannst du dann mit ListSource und ListField eine Spalte in einer Datenbanktabelle zuweisen und mit Keyfield eine Spalte der Zieltabelle.
|
Re: DBlistbox ?
hallo,
meinst du in Items (TStrings) ? mfg vader |
Re: DBlistbox ?
Ja meint er.
|
Re: DBlistbox ?
ja, aber dort kann ich doch nichts eingeben, da macht der string-listen-editor auf, ich möchte so wie in ein
DBMemo bei laufzeit was reinschreiben können ! mfg vader |
Re: DBlistbox ?
Dann schau dir mal DBComboBox an.
marabu |
Re: DBlistbox ?
ich weiß nicht was ich mit DBComboBox machen soll, ich drücke mich warscheinlich sehr umständlich aus,der grund
ist weil ich von datenbanken keine ahnung habe, kann man in eine DBListbox überhaupt schreiben oder muß man die daten der DBListbox zuweisen ? hätte irgenwer ein beispiel zum downloaden ( datenbank mit listbox usw. ) mfg vader |
Re: DBlistbox ?
DBListBox gestattet nur die Übernahme eines Eintrags aus Items. Willst du freie Eingabe ermöglichen, dann verwende DBComboBox. Wenn der eingegebene Wert neu ist, dann kannst du ihn nach dem Speichern in die Items der DBComboBox aufnehmen und er steht dir bei der nächsten Eingabe zur Auswahl. Natürlich kannst du auch die DBComboBox vorher initialisieren, aber die Grundidee ist, dass man bei der ListBox alle Items sehen soll und bei der ComboBox nicht - Platz auf dem Bildschirm ist knapp.
marabu |
Re: DBlistbox ?
und wie schaut so eine übernahme eines eintrages aus ?
mfg vader |
Re: DBlistbox ?
Hier eine mögliche Vorgehensweise:
Delphi-Quellcode:
Die Eigenschaft Sorted der ComboBox sollte dabei TRUE sein.
procedure TForm1.TableAfterPost(DataSet: TDataSet);
begin with DBComboBox do if Items.IndexOf(Field.AsString) < 0 then Items.Add(Field.AsString); end; marabu |
Re: DBlistbox ?
ja, aber wie bekomme ich den string rüber in die DBListbox ?
mfg vader |
Re: DBlistbox ?
Genauso, wie bei der ComboBox also
Delphi-Quellcode:
da beide Komponenten eine Eigenschaft Items vom Typ TStrings haben.
procedure TForm1.TableAfterPost(DataSet: TDataSet);
begin with DBListBox do if Items.IndexOf(Field.AsString) < 0 then Items.Add(Field.AsString); end; |
Re: DBlistbox ?
Ich hatte das gleiche Problem, ich habs mit ner Jv -Komponente gelöst (TJvDBLookupComboEdit)
Die Items habe ich in einer extra tabelle in der tb gespeichert und die übernahme von neuen werten in die Tabelle über das OnExit-Event gesteuert Die ComboBox hat den Namen cbxAnr, in der tabelle steht im Feld typ der jeweilige Wert
Code:
K.A. ob das sehr elegant ist, aber es funktioniert prima.
procedure TfrmPerson.cbxAnrExit(Sender: TObject);
begin if not Data.tblAnrede.Locate('anrede',cbxAnr.Text,[]) then Data.tblAnrede.InsertRecord([cbxAnr.text]); end; Gruß tr909 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 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