Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Listview Spalte ausblenden (visible := false)

  Alt 11. Mär 2004, 05:12
Hai Plague,

die große Frage: Warum möchtest Du eine Spalte die nicht angezeigt wird?
Deine wahrscheinliche Antwort:
Zitat:
Ich möchte die ID des Datensatzes dort speichern.
Daruf sage ich:
Zitat:
Das ist aber keine gute Lösung
Jetzt Du:
Zitat:
Wie soll ich es denn machen?
Ich wieder:
Zitat:
Schaue dir mal die Eigenschaft .Data von TListItem an.
Du schon wieder:
Zitat:
Wie geht das denn genau?
Ich wühle in meinem Quellcode und poste:

Delphi-Quellcode:
procedure TFRM_Main.ShowAnreden;
var
  LI: TListItem;
  LC: TListColumn;
begin
  with DataModule1.ZReadOnlyQuery1 do
  begin
    close;
    SQL.Text := 'SELECT * FROM anreden ORDER BY anrede';
    open;
    ListView1.Items.BeginUpdate;
    Listview1.Items.Clear;
    Listview1.Columns.Clear;
    LC := ListView1.Columns.Add;
    LC.Caption := 'Anrede';
    LC.Width := 150;
    LC := ListView1.Columns.Add;
    LC.Caption := 'Briefanrede';
    LC.Width := 250;
    while not (EOF) do
    begin
      LI := Listview1.Items.Add;
      LI.ImageIndex := 0;
->>> LI.Data := Pointer(FieldByName('id').AsInteger); // ID speichern!
      LI.Caption := FieldByName('anrede').AsString;
      LI.SubItems.Add(FieldByName('briefanrede').AsString);
      Next;
    end;
    ListView1.Items.EndUpdate;
    close;
  end;
end;

Und so kommst Du an die ID:
Delphi-Quellcode:
procedure TFRM_Main.ListView1DblClick(Sender: TObject);
var
  id : Integer;
begin
  id := Integer(ListView1.Items[ListView1.ItemIndex].Data);
end;


Wenn ich jetzt total daneben gelegen habe war das schöne Gespräch für die Katz
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat