2016-04-14 6 views
0

Ich habe ein Raster, das eine Spalte mit Editor wie unten definiert hat.Extjs 4.0.7-Zugriff Editor-Feld auf Raster laden

Immer wenn das Raster geladen ist, kann ich nicht auf das Textfeld im Editor zugreifen, bis wir auf diese Zelle klicken.

Ext.getCmp ('MDesc_Add') gibt einen nicht definierten Wert.

Nachdem ich auf diese Zelle geklickt habe, gibt es mir das Textfeld-Objekt.

Wie kann ich auf das Textfeld Objekt nur auf Raster laden oder Daten des Rasters ??

+0

Was wollen Sie erreichen? –

+0

Ich möchte den Wert in dem Feld validieren (und roten Rahmen anzeigen, wenn ungültig), wenn die Daten festgelegt sind, nicht beim Klicken auf Feld – AngryLeo

Antwort

1

Dies liegt daran, dass Sie das Feld innerhalb der getEditor-Methode instanziieren, das nur aufgerufen wird, wenn der Editor benötigt wird (wenn er angezeigt werden soll).

Wenn Sie das Feld wollen immer zur Verfügung stehen, sollten Sie es instanziiert, bevor Sie das Gitter instanziiert:

var editorField = Ext.create('Ext.form.field.Text', { 
     id:'MDesc_Add', 
     validator:function(val){ 
     if(val=="") return false; 
     else return true; 
    }); 
this.accrualGrid = new Ext.grid.GridPanel({ 
    ... 
       return Ext.create('Ext.grid.CellEditor', { 
        field: editorField 
       }); 
    ... 
});