Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   DevExpres Breadcrumb unbenutzbar? (https://www.delphipraxis.net/196551-devexpres-breadcrumb-unbenutzbar.html)

himitsu 30. Mai 2018 12:14


DevExpres Breadcrumb unbenutzbar?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Seit vielen Jahren wird danach bei DevExpress angefragt (ob man nicht auch in VCL das haben kann, was es schon seit Ewigkeiten für WinForms von denen gibt)

Nja, dachte mir vor Kurzem in 5 Minuten das mal schnell bei uns reinzumachen,
aber entweder bin ich zu blöd das zu benutzen oder niemand nutzt das jetzt, wo es schon knapp ein Jahr existiert.

Versteht man mich wirklich so schwer, ob mach ich irgendwas falsch, beim Versuch die 3 Property einzustellen?
https://www.devexpress.com/Support/C...-does-not-work
Wenn mich da jetzt wieder niemand versteht, dann weiß ich auch nicht mehr weiter. Könnte noch den Spielberg beauftragen mir einen dreistündigen Kurzfilm zu erstellen, um das Problem zu zeigen.

Daniel 30. Mai 2018 12:45

AW: DevExpres Breadcrumb unbenutzbar?
 
Unbenutzbar? Nein - das werden Dir genug Kunden bestätigen.
Frag doch lieber konkret, was Du erreichen möchtest.

himitsu 30. Mai 2018 13:03

AW: DevExpres Breadcrumb unbenutzbar?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es ist ganz einfach. Über einen TreeView drüber und er soll anzeigen wo man sich befindet.
Eigentlich ganz einfach: Felder für ID und Parent angegeben, dann die ID des Root und fertig.

Es wird aber fast niemals etwas angezeigt, da die Komponente aus dem angegebenen RootValue den falschen RootNode bestimmt und dann nur Pfade unterhalb "dieses" Root angezeigt werden.
Überall sonst bleibt die Anzeige leer.

In dem angehängten Testprogramm werden nur die Pfade unterhalb des Node "1" angezeigt.
Auch in dem Testprogramm, welches der DevExpress-Mitarbeiter im Supportticket angehängt hat, ist dieses Problem enthalten.




OK, bei einem von 80 Pfaden wird etwas angezeigt, in der Demo immerhin schon bei Einem von 4.

Alles was ich sonst noch im Internet fand, wo der Breadcrumb von DevExpress genutzt wird, dort wurde die Version ohne DB verwendet und die Nodes selbst erstellt, oder eben das im .NET.

himitsu 1. Jun 2018 13:22

AW: DevExpres Breadcrumb unbenutzbar?
 
Liste der Anhänge anzeigen (Anzahl: 1)
OK, ich habe jetzt vom Support eine "Lösung" genannt bekommen.
> man soll diese Komponente mit fehlerhaften Daten füttern, damit sie dann scheinbar richtig funktioniert.

Meine einzige halbwegs brauchbare Lösung war ein zweites DataSet,
dort die Daten nochmals Laden, einen RootNode einzufügen und ein paar ParentIDs beim Laden darauf umzubiegen.
Dann noch in beide Richtungen Edit/Scroll-Events manuell synchronisieren und aufpassen, dass keine Endlosschleife entsteht.



@Daniel: Bitte, erkläre mir doch einmal, wieso das bei euch funktioniert soll?
Habt ihr nur einen RootNode und gebt da ebenfalls als RootValue die ParentID anstatt dessen ID an?

Also, dieser Komponente gebe ist als RootValue eine ID,
aber damit wird nicht in den "eindeutigen" IDs gesucht, sondern in den ParentIDs, was natürlich knallt, da in einem Baum ein Node bekanntlich mehrere SubNodes besitzen kann.

Jetzt muß ich also einen sinnlosen neuen RootNode erstellen, dem ich als ParentID etwas "Eindeutiges" geben kann, was eigentlich nicht möglich ist, denn
SQL-Code:
CREATE TABLE testtable (
  id VARCHAR (30) NOT NULL PRIMARY KEY,
  parent VARCHAR(30) ,--REFERENCES testtable​,
  text VARCHAR(150) NOT NULL
);
Blöd daran ist dann, dass nun im TreeList dieser Eintrag ebenfalls sichbar ist, welchen es eigentlich nicht geben sollte. (bisher nicht gab)
Einer der beiden TreeViews enthält eine Menüstruktur, welche dann einen neuen Menüpunkt hätte, der aber keine Funktion besitzt.





Und noch besser.
In dem TreeView/DataSet kann man auch kein Insert mehr machen, denn dabei wird ein Refresh der Tree-Daten in dem Breadcrumb ausbelöst, bei welchem durch das ganze Dataset gescrollt wird, was sofort das Insert wieder abwürgt.


Optionen für Test-Anwendung :
unsere Datenlage : without root & root=NULL
deren Vorschlag mit einer ungültigen Referenz ParentID>ID : with root and parent & root=-1

Test mit "einem" ROOT, aber gültigen Referenzen : with root & root=NULL
> hier könnte ich noch dem ROOT eine ID geben, dann wäre die ParentID=NULL im Root evenfalls unique wurde ins Demo eingefügt


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:10 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