Wobei ich da eine VirtualStringTree besser finde, die kann viel mehr. Und ist auch nicht schwerer zu benutzen.
Delphi-Quellcode:
type
// Die Datenklasse
TMyData = class
private
public
property FirstColumnData: string ...
end;
// Die Liste der Daten
TMyDataList = class(TObjectList<TMyData>);
// initialisieren
vstListDisplay.NodeDataSize := SizeOf(TMyData);
MyDataList := TMyDataList.Create(True);
// Neuen Knoten erzeugen
MyData := TMyData.Create;
MyData.FirstColumnData := ...;
MyDataList.Add(MyData);
vstListDisplay.AddChild(nil, MyData);
// vstListDisplay.OnGetText implementieren
case Column of
0:
CellText := TMyData(vstListDisplay.GetNodeData(Node)^).FirstColumnData;
...
Das sollte alles gewesen sein, so aus dem Kopf geschrieben...