NextGrid – Alternativer Grid / Listview-Ersatz für Delphi Anwender?

Ein beliebtes Suchthema für Delphi Entwickler ist die Suche nach einem alternativen Grid. Ein äußerst beliebtes und auch wichtiges Thema, sind die mitgelieferten Komponenten in Delphi doch etwas hausbacken und auch langsam.

Viele Komponenten, die man findet, basieren auf Windows Komponenten als Basis, die nun mal nicht die schnellsten sind und wer viel Zeit investiert hat, um einen möglichst effizienten SQL Code zu schreiben, wird sich ärgern, wenn das Einlesen der Daten extrem träge ist.

Verwendet man ein Listview von Delphi zur Darstellung von Daten, kann man zwar einen virtuellen Modus nutzen, so dass nicht alle Daten auf einmal angezeigt werden, und was die Darstellung beschleunigt, allerdings kompliziert dies unter Umständen das Ganze, was auch die Fehleranfälligkeit im Code erhöhen kann.

Sinnvoller ist es eine Komponente einzusetzen, die

  1. von Haus aus schnell ist
  2. optisch ansprechend
  3. schnell einsetzbar ist, ohne großen Lernaufwand
  4. flexibel ist

Stöbert man, so findet man durchaus einige alternative Möglichkeiten, von zum Teil sehr teuren Kaufkomponenten bis hin zum zwar kostenlosen, aber nicht ganz einfach zu lernenden, Virtual Listview.

NextGrid als Alternative

Auch ich habe gestöbert und mich schließlich für die NextGrid Komponente von Bergsoft entschieden, weil ich mit den mir davor zur Verfügung stehenden Komponenten zwar funktionell, aber nicht geschwindigkeitsmäßig zufrieden war, und irgendwelche virtuellen Wege viel zu kompliziert gewesen wären.

Erster Nachteil war, dass es keine Demo-Units gab, nur Demo-Anwendungen. Da diese mir aber sehr überzeugend erschienen, weil schnell, und die Komponente äußerst günstig (ca. 40 Euro netto zum Zeitpunkt des Kaufs), habe ich das „Risiko“ in Kauf genommen und wurde auch nicht enttäuscht, so viel vorweg. Zu berücksichtigen beim Preis ist auch, dass es lebenslange Updates gibt, plus eine Geld-zurück-Garantie, die ich aber sicher nicht anwenden werde.

Die Installation selber war ein bisschen fummelig, aber lösbar. Hier musste ich wiederholt den einzelnen Packages Suchpfade zuweisen, was ein wenig nervig war, am Ende aber dann klappte. Erstaunlicherweise waren im Paket einige Komponenten, von denen ich gar nicht wusste, dass diese im Paket inbegriffen waren. Aber da es mir vorwiegend um das Grid ging, hatte ich vielleicht auch nicht darauf geachtet. Diese sind auch von mir noch nicht getestet.

Einfach bedienbar und sehr schnell

Getestet wurde bisher im Wesentlichen nur die Komponente TNextGrid mit folgenden Ergebnissen:

  • Gschwindigkeit: klasse, bei ca. 4000 Datensätzen 6x schneller als eine ListView – Komponente (also 10 sek statt 1 Minute!)
  • Optik: ansprechend, nicht überthemed, genau richtig für den Zweck
  • Erlernbarkeit: einfach, da brauchte ich kein großes Studium, die Hilfe und auch einige Beispiele auf der Entwicklerseite bei bergsoft.net sind da ausreichend.
  • Funktionen: mehr als ausreichend für mich, Spalten können natürlich frei verschoben werden, es kann nach jeder Spalte sortiert werden, individuelle Farbgebung einzelner Zellen ist auch möglich, zum Beispiel in Abhängigkeit von einem bestimten Wert und viele andere Funktionen.
    Für die einzelnen Spalten können verschiedene Eingabeelemente verwendet werden, wie Checkbox, Editbox, Image (besonders einfach, jede Spalte kann ihre eigene Imagelist beinhalten), Combobox, Zeit, Datum, usw.
  • Sortierung: überzeugend und sehr schnell, zuverlässig auch bei Zahlen und Datumswerten

Sehr komfortabel ist dabei auch die Zusammenstellung über den eingebauten Spalteneditor:

Die Übergabe von Daten geht einfach, nehmen wir an, dass wir eine Daten-Query haben und wir diese Daten durch TNextGrid darstellen möchten, dann geht man wie folgt vor.

TNextGrid.BeginUpdate; // kein Zeichnen während der Datenübergabe
TnextGrid.clearRows // eventuelle alte Daten löschen
TNextGrid.AddRow(TQuery.RecordCount); // übergibt die Anzahl der benötigten Zeilen
zeile:=0;
while not tquery.eof
do begin
TNextGrid.Cell[0, zeile].asBoolean := false;
TNextGrid.Cell[1, zeile].asString := ‘Textdarstellung’;
TNextGrid.Cell[2, zeile].asDatetime := now();
TNextGrid.Cell[3, zeile].asFloat := 1000,23;
Inc(zeile);
Tquery.next;
end;
TNextGrid.EndUpdate;

Das Einlesen und die Datenübergabe ist also keine Wissenschaft.

Ein kleiner Schwachpunkt ist vielleicht der Datenexport, hier gäbe es noch Ausbaupotenzial bzw. muss man selber Hand anlegen.

Nur kurz angetestet habe ich bisher die DBGrid Alternative ( TNextDBGrid) von Bergsoft. Was ich sehen konnte, sieht aber auch sehr gut aus. Auch die weiteren Komponenten im Paket plus Erweiterungen stehen noch auf der zu erforschenden Liste.

Fazit Grid-/ListView Alternative : TNextGrid

Insgesamt ist der Funktionsumfang aber sehr gut, dazu die schnelle Verarbeitung der Daten, der günstige Preis, lebenslange Updates und ein guter Support machen die Grid – Komponenten von Bergsoft insgesamt zu einer guten Wahl, wenn man auf der Suche nach einer leistungsfähigen und bezahlbaren Komponenten für Delphi zur Datendarstellung ist. Das Ganze macht auch Spaß, weil komfortabel und einfach einzusetzen. Sehr empfehlenswert für Delphi Entwickler.

Insbesondere das von mir angesprochene TnextGrid hat zu einer erheblichen Aufwertung in meinem Programm geführt, wo ich es bislang zur Darstellung von Aufgaben Zeitdaten und Umsatzdaten implementiert habe. Dankbare Kunden durch wesentlich mehr Geschwindigkeit machen die Komponente schnell bezahlt.

Werbung & Infos:

Aktuelles Bitdefender Angebot


Sicher im Home Office –  Angebote Antivirus & Internet Security

» Avira Prime mit 65% Rabatt 
» Bitdefender Antivirus, Internet Security und Total Security mit bis zu 62% Rabatt



Verwandte Themen: