ExtJS: Lösung für Fehlermeldung "this.items.items[0] is undefined"

Die folgende Fehlermeldung tritt in einer ExtJS Anwendung häufig dann auf, wenn in einem Form-Element andere Elemente (wie z.Bsp. ein "Ext.grid.Grid") eingebaut sind:

this.items.items[0] is undefined

Im folgenden Beispiel finden Sie in der 4. Zeile ("isFormField: true") die Lösung für das Problem:

 items: [new Ext.grid.GridPanel({ id: "testGrid", autoScroll: true, isFormField: true, height: 200, width: 400, columns: [{

Gehen Sie in Ihrem JS (JavaScript) Quellcode in das Nicht-Form-Element und fügen Sie die Zeile dort ein.

Sollten Sie das Element mit dem Formular auf Gültigkeit testen wollen (Validierung), dann benötigen Sie zusätzlich noch die Funktion "isValid" innerhalb des Elementes. Ansonsten erhalten Sie ggf. diese Fehlermeldung:

field.isValid is not a function

Am Beispiel des oberen "Ext.grid.GridPanel" hier der JavaScript Code:

 items: [new Ext.grid.GridPanel({ id: "testGrid", autoScroll: true, isFormField: true, height: 200, width: 400, columns: [...], isValid: function() { // check ... return true; }

Fügen Sie Ihre Prüfungen in Zeile 9 ein und entscheiden Sie durch Ihre Prüfungen, ob das Element gültig ist oder nicht. Dabei können Sie z.Bsp. abfragen, ob mindestens eine Zeile im Grid ausgewählt wurde:

 isValid: function() { return Ext.getCmp("testGrid").selModel.selections.length > 0; }

Dieser Artikel hat Dir geholfen ?
.. und Dir nerviges Ausprobieren, Suchen und Zeit erspart ?

Dann würde ich mich sehr freuen, wenn Du diese werbefreie Hilfeseite mit einer kleinen Anerkennung unterstützen würdest.
Vielen Dank !
PayPal Donate QR Code

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

fünfzehn + fünfzehn =