Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - ListView


johannes - Mi 07.08.02 22:48
Titel: ListView
Liebe Forenmitglieder,
habe eine ListView mit 2 Spalten und 2 Zeilen.

Möchte nun durch ein DblClick den Eintrag in der Zelle ,1. Zeile und 1. Spalte in eine Stringvariable einlesen.

Den index der zeile bekomme ich zurück:
var
z, s: integer;
str: string;

begin
z := ListView1.ItemIndex;
end;

Aber mit der Spalte mag es nicht klappen.
Habe es z. Bs so probiert:

s := ListView1.Column.Index;
str := ListView1.Item (z,s)

aber keine Chance.


Weiß jemand von Euch wie ich dies machen kann?

Vielen Dank und mit freundlichen Grüßen

johannes


cbs - Mi 07.08.02 22:59

Tag auch

die splaten bekommst du mit der eigenschaft SubItems eines TListItem objects. wobei die eigenschaft Caption die erste spalte darstellt

z.b:

Quelltext
1:
2:
3:
spalte1:= ListView1.Selected.Caption;
spalte2:= ListView1.Selected.SubItems[0];
spalte3:= ListView1.Selected.SubItems[1];

oder so... eintrag in zeile 3 spalte 4 ändern

Quelltext
1:
ListView1.Items[2].SubItems[2]:= 'test eintrag';                    

die entsprechenden SubItems müssen aber bestehen. wenn du die Einträge nicht mit dem objektinspektor erstellst sondern per code zur laufzeit musst du darauf achten das das subitem auf das du zugreifen möchtest auch existiert.

also immer alle subitems zumindest mit nem leerstring ('') erstellen (mit ADD)