Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Eingaben im Formular zeitgleich in ListView schreiben

  Alt 23. Aug 2005, 18:17
Hallo Petra,

wenn du eine DemoForm anhängst, dann bitte außer .DFM auch .PAS.

Nun zur ListView - es gibt zwei Modi, die du unterscheiden musst. Im Standardmodus (ListView.OwnerData = false) speichert die ListView die angezeigten Daten, im virtuellen Modus (ListView.OwnerData = true) speicherst du die Anzeigedaten in einer eigenen Speicherstruktur oder extern. Du hast wahrscheinlich im Standardmodus getestet.

Wenn du die Nummern in der ersten Spalte lückenlos haben willst, dann dienen sie wohl nur der Zählung. Beim Löschen, wie beim Einfügen oder Verschieben eines Eintrages musst du im Standardmodus relativ viel Aufwand treiben, um die Lücken zu schließen bzw. Doppelnummern zu vermeiden. Im virtuellen Modus ist das viel einfacher, da du in der dann notwendigen Ereignisroutine ListView.OnData() sofort die richtige Nummer zuweisen kannst:

Delphi-Quellcode:
procedure TDemoForm.ListViewData(Sender: TObject; Item: TListItem);
begin
  Item.Caption := IntToStr(Item.Index);
  ...
end;
Du hast von einer Datenbank geschrieben. Wenn die drei Spalten deiner ListView zu einer Datenbanktabelle gehören, dann solltest du diese Tabelle mal beschreiben. Welche Tabellenfelder sind vorgesehen, was ist der Primärschlüssel, etc.

Grüße vom marabu
  Mit Zitat antworten Zitat