Vorgestellt: ADVListview aus dem TMS Component Pack Pro – Teil 1

Die AdvListView Komponente von TMS Components eignet sich hervorragend als Ersatz für ein Grid. Persönlich hat sich für mich herausgestellt, dass die Grids aus dem TMS Component Pack Pro zwar sehr mächtig sind, aber doch auch etwas träge. Hier habe ich gerade, was Geschwindigkeit angeht, ein erheblich besseres Gefühl mit dem Einsatz der Listviews aus diesem Paket.  Ein weiterer Vorteil ist auch die interne Sortierung,so das keine erneuten Abfragen an einen Datenbankserver gesendet werden müssen.

Die Verwendung ist dabei recht einfach:

  1. Fügen Sie eine AdvListView-Komponente aus der Toolbox Ihrem Formular hinzu
  2. Stellen Sie ViewStyle im Objekt Inspector auf vsReport ein
  3. Möchten Sie die Sortiermöglichkeit für die einzelnen Spalten aktivieren: SortShow=True
  4. In Columns definieren Sie die einzelnen Spalten, deren Überschrift, eventuell Bild
  5. Möchten Sie Benutzern die Möglichkeit geben über eine Checkbox einzelne Datenreihen zu markieren, so setzen Sie Checkbox = True
  6. Möchten Sie dem Anwender die Möglichkeit geben die Spaltenreihenfolge selber anzupassen, so setzen Sie DragDropHearder = True

Einige Einstellungen hängen davon ab, was Sie dem Benutzer erlauben möchten oder nicht, z.B. ob er die Werte bearbeiten darf oder nicht.  Wenn nicht, so setzen Sie Readonly=True und vielleicht auch RowSelect=True, dann wird die ganze Zeile markiert und nicht nur einzelne Spalten.

Die Sache mit dem DoubleBuffered ist etwas eigenwillig… beobachten Sie Exceptions, so ist dies ein guter Ansatzpunkt hier mal wahlweise = True oder = False zu setzen. Einfach probieren.

Möchten Sie Bilder anzeigen, so legen Sie sich eine Imagelist an und weisen diese z.B. in SmallImages der Listview zu.

Grundlegende Basiseinstellungen haben Sie nun bereits getroffen, jetzt gilt es diese AdvListview mit Daten zu füllen.
Die Vorgehensweise ist dabei recht einfach:

Nehmen wir an, Sie haben eine Query, also eine Datenbankabfrage gemacht und mit diesen Daten möchten Sie nun Ihre AdvListview füllen, dann sieht der Code wie folgt aus:

var newItem:TListItem;

begin
advlistview.beginUpdate;
Query.First;
while not Query.eof do
begin
newItem := advliste.Items.add;
newitem.caption := Query.Fieldbyname(‚ID‘).AsString;
newItem.SubItems.Add(Query.Fieldbyname(‘vorname‘).AsString);
newItem.SubItems.Add(Query.Fieldbyname(’name‘).AsString);
Query.next;
end;
advlistview.endUpdate;
end;

In diesem Beispiel haben Sie eine Listview mit 3 Spalten, wobei die erste Spalte immer mit .caption angesprochen wird, alle weiteren mit .subitems. Die 2. Spalte nach menschlicher Logik entspricht also .Subitems=0, die 1. Spalte = Caption.

Setzen Sie unbedingt .beginupdate / .endupdate – damit wird verhindert, dass Sie live Zeuge werden wie jede einzelne Zeile eingetragen wird. Gleichzeitig wird der Vorgang beschleunigt.

Fertig – Ihre Daten sind damit bereits in der Listview eingetragen.

Im nächsten Teil beschreibe ich u.a.:

  • wie Sie in Abhängigkeit von einem Feldwert eine individuelle Grafik für jede Zeile anzeigen
  • wie Sie in Abhängigkeit von einem Feldwert die einzelnen Zeilen unterschiedlich färben können
  • wie Sie herausbekommen, welche Zeile geklickt wurde und damit den entsprechenden Daten ermitteln können
  • wie Sie z.B. den Wert von Zeile 3, Spalte 2 bekommen
  • wie Sie eine Progressbar in Ihrer AdvListView anzeigen

Klicken Sie also wieder rein… oder folgen Sie meinem Twitterkonto, um Updates nicht zu verpassen.

Werbung & Infos:

WebSite X5WebSite X5 Angebot mit 40% Rabatt

Professionelle Homepages ohne Programmierung erstellen mit WebSite X5 und dabei aktuell 40% sparen:

WebSite X5 Evo jetzt bereits für 53,97 statt 89,95 €

WebSite X5 Pro jetzt bereits für 119,98 statt 199,95 €

Unbekannt, wie lange das Angebot gilt


HP Osterangebote 2024


Verwandte Themen: