DBGrid PickList ItemIndex Problem

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
piper62
Beiträge: 131
Registriert: Sa 5. Apr 2008, 17:57
OS, Lazarus, FPC: Linux (Debian, Xubuntu), MacOS X, MS Win, Android, Web
CPU-Target: 32Bit/64Bit
Wohnort: Ulm

DBGrid PickList ItemIndex Problem

Beitrag von piper62 »

Hi,

ich fülle eine PickList eines DBGrids mit Werten und füge noch Integerwerte für den Key hinzu.
Angezeigt werden die "normal sichtbaren" Werte und in die Tabelle sollen nur die Keys geschrieben werden. In eine ComboBox oder auch in einem StringGrid geht das tadellos.
Nur im DBGrid kann ich nicht auf den ItemIndex der PickList zugreifen.
Sinnvoll wäre es in dieser Form: DBGrid1.Columns.PickList.ItemIndex
Das geht aber nicht!

Füllen der PickList:
procedure TForm1.FormShow(Sender: TObject);
begin
ZReadOnlyQuery1.SQL.Clear;
ZReadOnlyQuery1.SQL.Add('select * from language');
ZReadOnlyQuery1.Open;
while not ZReadOnlyQuery1.EOF do
begin
DBGrid1.Columns.Items[2].PickList.AddObject(ZReadOnlyQuery1.FieldByName('languageName').asString,TObject(ZReadOnlyQuery1.FieldByName('language_id').AsInteger));
ZReadOnlyQuery1.Next;
end; { of while }
end

Mein System: FCP 2.0.4, Lazarus 0.9.22 and GTK1.2 with Debian Etch and KDE 3.5.5.

Hat jemand eine Idee?

Gruss,
Tibor

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Hast dus schon einmal mit einer aktuellen fpc/Lazarus Version probiert ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

piper62
Beiträge: 131
Registriert: Sa 5. Apr 2008, 17:57
OS, Lazarus, FPC: Linux (Debian, Xubuntu), MacOS X, MS Win, Android, Web
CPU-Target: 32Bit/64Bit
Wohnort: Ulm

Beitrag von piper62 »

Habs jetzt mal mit FPC 2.2, Lazarus 0.9.24 probiert. Auch da finde ich keine Möglichkeit auf den PickList.ItemIndex zuzugreifen.
Ist wirklich lästig.
Werde jetzt wohl den Weg gehen das Ganze in einer eigenen StringList zu buffern und dann dort entsprechend nach dem Index nachzuschlagen.

Nicht elegant aber wird wohl gehen. Wenn ich mal Zeit habe schaue ich mir den Code des TDBGrids mal an...
Momentan müssen wir mit unserem Projekt aber fertig werden...

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ich nehme dazu immer ne abkürzung beispiel:
de Deutsch
en English

sind dann die Werte in der ComboBox.
Das Datenfeld ist dann Alpha begrenzt auf 2 Zeichen damit landet dann nur de und en in der Datenbank ohne das ich etra aufwand hab.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten