Egy furcsa hibába ütköztem. A feladat röviden annyi volt, hogy egy TriggerField-et kellett betenni EditorGridPanel-be. Máskülönben a beviteli mezővel semmi gond nem volt, de itt a kiválasztás pillanatában eltűnt, a változás esemény meg már nem jutott el a táblázatig.
Némi kutatás után rájöttem, hogy a blur esemény hibásan fut le, már a lenyíló panel elemre kattintva. Ezután a beviteli mező le lett tiltva, így hiába történt meg a változás.
Két megoldási irány látszódott, vagy a blur eseményt kijavítom, mivel nem saját komponensről volt szó ez kevésbé szimpatikus, vagy a GridEditor-nak adom meg, hogy az eltüntetést kicsit késleltesse:
{
header: '...',
dataIndex: '...',
editor: new Ext.grid.GridEditor(new Ext.ux.TreeSelector(), {
onBlur: function () {
Ext.grid.GridEditor.prototype.onBlur.defer(100, this, arguments);
}
})
}
Ennyi pont elég, hogy a változás esemény hamarabb fusson le, mint az eltüntetés.