29. August 2012

ExtJS „Uncaught TypeError: Cannot read property ‚internalId‘ of undefined“

29. August 2012 - Geschrieben von Martin - Keine Kommentare

Mein ExtJS 4.1 TreeStore wollte einen Knoten partout nicht laden, es kam jedesmal folgender Fehler in der Chome debug Konsole:

Uncaught TypeError: Cannot read property 'internalId' of undefined

Dank der echt supertollen Dokumentation von ExtJS habe ich verzweifelt alle Parameter ausgetestet doch keiner half, beim Googlen bin ich auf diverse Foren gestossen, doch jedesmal gab es keine richtige Antwort. Doch dieser Blog Post hatte eine.

Die „id“ eines jeden Knotens muss einmalig sein! Das heißt, nicht nur auf einer Ebene, sondern auch in Unterebenen darf keine ID doppelt vorkommen! Das ist natürlich schwer, wenn ich aus zwei Datenbanktabellen mit jeweils einem Auto Increment meine Daten beziehe, denn

- parent[id=1]
-- sub[id=1]
-- sub[id=2]
-- sub[id=3]
- parent[id=2]
-- sub[id=4]

und schon habe ich die „[id=1]“ und „[id=2]“ doppelt. Abhilfe schafft z.B. wenn ich als Index „[id=parent-1]“ und „[id=sub-1]“ verwende. Sollte meine Anwendung mit diesen IDs Arbeiten, z.B. um weitere Abfragen auszuführen, kann ich dafür ein extra Feld verwenden.