ASPxGridView-Control von DevExpress

Erfahrungen mit komplexen Tabellen

Nach zwei Jahren Webentwicklung mit DevExpress-Komponenten ist mir das ASPxGridView-Control ans Herz gewachsen.

 

DevExpress bietet Steuerelemente (Controls) an, die schnellere Softwareentwicklung ermöglichen sollen – insbesondere, wenn es um grafische Userschnittstellen geht. Ich habe das in den letzten zwei Jahren in einem Projekt erleben können. Das Web-Framework ASP.NET bringt schon einiges mit, aber DevExpress setzt da noch allerhand oben drauf.

Mal ein Beispiel: Das klassische Steuerelement aus ASP.NET für eine Tabelle ist Table. Mit ihm erstelle ich eine grafische Tabelle, kann das Design beeinflussen und mit Zeilen und Zellen arbeiten. So weit, so gut. Aber auch ziemlich veraltet: Die offizielle Dokumentation ist von 2006 und die Anzahl an Möglichkeiten für heutige Verhältnisse beschränkt. Trotzdem wird ASP.NET in der Praxis noch viel eingesetzt. Das bedeutet, komplexere Funktionen müssen von Hand programmiert werden.

Viele eingebaute Funktionen

Diesen Umstand hat sich DevExpress zum Geschäftsmodell gemacht. Das entsprechende Tabellen-Element heißt ASPxGrivView. Dort steckt „ASP“ drin, denn es ist (wie Table) von der ASP-Klasse WebControl abgeleitet, fügt aber noch eine Unmenge an Eigenschaften, Methoden und Ereignissen hinzu, die mich in der Vergangenheit immer wieder erfreut haben. Und die Kundschaft auch, denn ich spare Zeit.

Es macht Spaß, mit ASPxGrivView zu arbeiten, weil es so ziemlich alles kann, was ich mir als Entwickler wünsche. In dem erwähnten Projekt habe ich das Steuerelement benutzt, um eine editierbare Pivot-Tabelle in einer Webseite darzustellen. Dabei sollten unter anderem folgende Anforderungen umgesetzt werden:

  • Clientseitiges Editieren der Tabellendaten
  • Clientseitige Anpassung der Tabelle (z.B. Ausblenden von Spalten) und Speichern der Anpassungen per User
  • Datenvalidierung mit Regular Expressions
  • Lokalisierung der Datenformate
  • Gruppieren von Spalten
  • Selbstdefinierte Symbolleisten
  • Exportieren der Tabelle nach Excel

Alle diese Funktionen waren nach etwas Recherche mit relativ geringem Aufwand umsetzbar. Vieles ist sogar direkt nutzbar (z.B. die Exportfunktion).

Performance & Support

Die Performance beim Aufbau der Tabelle ist auch recht flott. Es gab in meiner Vergangenheit nur ein Problem – Achtung, technisches Detail:

Bei sehr großen Tabellen wird es langsam, wenn einzelne Tabellenzellen mittels ASPxGridView.FormatConditions formatiert werden. Es lässt sich aber lösen, indem das Design stattdessen im HtmlRowPrepared-Ereignis über cell.Style.Add() angepasst wird.

Äußerst lobenswert ist der Support von DevExpress. Alle Anliegen werden ins offizielle, für alle offene Support-Forum geschrieben. Üblicherweise dauert es keine 24 Stunden, bis eine Antwort vorliegt, und die ist meiner Erfahrung nach immer fundiert. Oft lässt sich eine passende Antwort aus dem Support-Forum auch schon mit einer normalen Suchmaschine finden.

Fazit

Das ASPxGridView-Element ist ein echter Zeitsparer, wenn halbwegs komplexe Tabellen erstellt werden sollen. Ich will es nicht mehr missen. Nebenbei liefert DevExpress noch eine ganze Reihe weitere Controls aus, sodass sich die Anschaffung aus meiner Sicht völlig rentiert. Eine klare Empfehlung.

(Dies stellt meine persönliche Meinung dar. Ich habe keinerlei Verbindung zu DevExpress, außer dass ich die Produkte nutze.)

Jetzt teilen: