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
DBGrid PickList ItemIndex Problem
-
- 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
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...
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...