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