Nagyon szeretem az ExtJS-t, főleg a pontos api dokumentációt, de sajnos így is hiányos, ami miatt sok órát szoktam elvesztegetni. Nos a probléma egyszerűen megfogalmazva így néz ki: létre kell hoznom egy olyan szerkeszthető gridet (táblázatot) Ext-ben, hogy annak minden egyes cellája egy általam írt függvény által visszaadott form elemmel szerkeszthető legyen. Tehát például a második oszlop harmadik sorának celláját, más szerkesztővel lehessen megszerkeszteni, mint a második oszlop második sorának celláját. No problem, felütöm az API-t a megfelelő résznél és már ott is a megoldás, vagyis a grid-hez tartozó ColumnModel egyik függvénye, a setEditor, ami egy oszlop indexet (figyelem! az első oszlop a 0 indexű) és egy szerkesztőt vár. Na persze! Nem ilyen könnyű ám az élet. Az Ext Developer Team, ugyanis kihagyott egy fontos részletet az API-ból (illetve nem is hagyták ki, de a második paraméter objektumnak van feltüntetve, amire a paraszt azt hiszi, hogy az editor-t kell megadni), nevezetesen, hogy a második paraméter egy “konvertáló”: new Ext.grid.GridEditor(ide jön a form objektum). A baj ezzel az, hogy nincs feltüntetve sehol, egy eldugott ext témában találtam meg a megoldást. Tehát az editor megváltoztatásához (most egy szám beviteli mezőt fogok használni) egy ilyen parancs szükséges:
grid.getColumnModel().setEditor( index, new Ext.grid.GridEditor( new Ext.form.NumberField({}) ) );