AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TADVStringGrid oder TNextGrid

Ein Thema von hanspeter · begonnen am 12. Feb 2007 · letzter Beitrag vom 5. Apr 2008
Antwort Antwort
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#1

TADVStringGrid oder TNextGrid

  Alt 12. Feb 2007, 12:07
Hallo,

ich hatte den Auftrag ein Programm optisch etwas aufzupeppen und dazu die o.g. Gridkomponenten gekauft und beide in einem Projekt ausprobiert.
Vielleicht steht der eine oder andere vor dem gleichen Problem deshalb hier meine Erfahrungen.
Wenn jemand ergänzt, wäre ich dankbar.

Ausprobiert wurde noch das Expressquantrum Grid.
Sicherlich die mächtigste aber auch die bezüglich Einarbeitung aufwendigste Lösung.
Dabei ist nicht der einmalige Einarbeitungsaufwand signifikant, sondern der Aufwand für Dritte bei der Programmpflege.

Jetzt zu TADVStringGrid oder TNextGrid.

Beide sind für die gewünschte Aufgabe gleichermaßen geeignet und beide haben kleine Macken, sprich Bugs.
ADV ist umfangreicher, Next verfolgt einen moderneren Ansatz.
Die Objectorientierung von Next ist fortgeschrittener. Hier sind Spalten z.B. Objecte, wärend sie bei ADV quasi Variablen sind.

ADV: Cells[1,2] := inttostr(i);
Next: Cells[1,2].asInteger := i;

Gerade wenn das Grid vom Anwender konfiguriert werden soll, bietet Next einige Vorteile.

So kann eine Column über ihren Namen angesprechen werden.

CellbyName('lfd',1].asInteger;

Dieser Name ist konstant und damit unabhängig von der physischen Position im Grid.
Zusätzlich wird zwischen Columnindex und Position unterschieden.
Die tatsächliche Position steht in einer eigenen Variablen.

Bei ADV ist zum Verschieben von Columns eine aufwendigere Programmierung notwendig.
In einer selbst zu entwickelnden Datenstruktur muss Position/Index der Spalte gehandelt werden.

Next dürfte im Handling etwas schneller sein, da der Spalte bereits zur Entwurfszeit ein Editor zugeordnet wird und
dazu notwendige Parameter einmalig initialisiert werden.
Eine Combobox wird z.B. einmalig für die Spalte initialisiert.
Das führt natürlich dazu, dass es nur schwer oder nicht möglich ist, in der gleichen Spalte, abhängig vom Datensatz,
unterschiedliche Editoren zu verwenden.

Bei ADV wird beim Selektieren einer Cell über einen Event der Editortyp abgerufen.
Das Comboboxtemplate der Gridsteuerung ist nur einmal vorhanden und die Liste muss bei jedem Aktivieren initialisiert
werden.
Vorteil der Inhalt kann abhängig von der Row variant sein.

In Next ist das RowMove eleganter gelöst.
Einmal wird eine rote Linie für die Einfügeposition angezeigt und zum anderen kann der Drag/Drop Vorgang in jeder
beliebigen Spalte der Quellzeile aktiviert werden.

ADV benötigt eine fixe Spalte und nur in dieser wird ein Pfeil für die neue Position angezeigt.
Ist keine fixe Spalte vorhanden, so muß das Verschieben über den Dragdrop Mechanismus erfolgen.
ADV handelt in diesem Fall ein automatisches Scrollen im Grid bei Erreichen der obersten oder unterten Zeile im sichtbaren Bereich.
Bei Next ist hier eigene Programmierung angesagt.

ADV bietet mehr optische Möglichkeiten als Next. So z.B. Farbverläufe in Kopfzeilen oder im Grid.
Next läßt zwar eine Style-Auswahl zu, die sieht aber ohne Eigeninitative etwas altbacken aus.

Die Darstellung von Nodes - Spalten geht bei beiden, sieht aber im ADV etwas eleganter aus.

ADV beherrscht das Row und das Col Merging, Next benötigt hier mehr Aufwand.

Also im großen und ganzen ein Unentschieden.
Wobei ADV in der Optik und Next in der Funktionalität punktet.

Wie sind eure Erfahrungen?

Mit Gruß
Peter
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#2

Re: TADVStringGrid oder TNextGrid

  Alt 5. Apr 2008, 15:57
Hallo Hanspeter,

für welche der Komponenten habt Ihr euch jetzt entschieden? (Nur der Neugier wegen)

Grüsse
Grenzgaenger
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: TADVStringGrid oder TNextGrid

  Alt 5. Apr 2008, 17:14
Wir hatten früher TAdvStringGrid und haben es mittlerweile fast überalle durch die TreeStringGrid-Komponenten vom Elpack ersetzt.

Vorteil ElPack:
- XP-Theming (TAdvStringGrid hatte in abgelösten Version nur W2k-Look als Standardlook)
- Unicode-Support (Im Gegensatz zu Erweiterung beim AdvStringGrid auch unter W9x/ME)
- Eigenes von XP unabhängiges Theming (hier müsste man bei TAdvStringGrid versuchen mit Skinning-Komponenten zu arbeiten)

Beide haben ihre Macken/Fehler (welche auch entsprechend bei beiden Zeitnah gefixt wurden). Letzendlich haben wir aber mit ElPack eine vollständige Komponentensammlung gefunden mit der wir alle anderen GUI-Komponenten ersetzen konnten.

Das ElPack Grid/Tree/Listview ist ein zwitter und kann sowohl TListView/TTree oder TStringGrid-Like programmiert werden. Jedoch merkt man an ein paar Stellen das dieser Zwitter-Dasein ein paar kompromisse/unlogik beinhaltet. Mit ElPack6 wurde ein TXTreeStringGrid entwickelt welches jedoch noch nicht getestet wurde aber vermutlich ein paar Ungereimtheiten beseitigt ("Alte" Komponenten sind aber immer noch verfügbar).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#4

Re: TADVStringGrid oder TNextGrid

  Alt 5. Apr 2008, 20:35
Zitat von grenzgaenger:
Hallo Hanspeter,

für welche der Komponenten habt Ihr euch jetzt entschieden? (Nur der Neugier wegen)

Grüsse
Grenzgaenger
Ich habe mich letztendlich für das ADVgrid entschieden, da es im Vergleich einige Vorteile bietet und bin gemischt zufrieden.
Die Software von TMS hat einige Bugs und ist in sich nicht ganz konsistent - wirkt etwas zusammengewürfelt.
z.B. ist der Typ für Themen in wenigsten 3 bis 4 Componenten unterschiedlich declariert, meint aber das gleiche.
Es geht zwar ein Theming (auch mit dem ADV Grid) aber für jede Komponentengruppe gibt es eigene Controls.
Sobald man mehr als eine Komponente von TMS nutzt, bekommt man die nicht ohne Nacharbeit zum Laufen.
Konkret müssen einige gemeinsam genutzte Componenten aus den jeweiligen Paketen herausgelöst und in einem gesonderten Paket installiert werden.
Das wiederholt sich bei jedem Update. Bugs sind reichlich - klein aber ärgelich. z.B. das bei einer PanelCaption die Schriftgröße nicht an die
Panelgröße angepasst wird.
Weist man auf solche Fehler mit Angabe der Zeilennummer im Quelltext und Änderungsvorschlägen dauert es Monate bis der Fehler gefixt ist.
An einigen Stellen verhält sich das Grid unlogisch und es sind Klimmzüge notwendig.
z.B. bei HiddenColumn oder beim Verschieben von Columns.
Das ELpack habe ich mir auch mal angesehen, nöchte aber nicht in eine neue Komponentensammlung investieren, da Delphi bei mir ehe auf dem absteigenden Ast ist.
Ohnehin meine ich das mit der schrumpfenden Zahl von Componentenherstellern die Professionalität etwas auf der Strecke bleibt.


Gruß
Peter
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz