GridEditor.onBlur

2012.09.27. 08:30 stack

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.

Szólj hozzá!

Címkék: editor grid blur trigger napi szívás

PagingToolbar.pageSize

2009.05.16. 10:57 stack

Néha nehezen magyarázható meg az ügyfeleknek, hogy egy Grid-ben miért kell egyszerre lapozó is, meg görgetősáv is. Talán azért is, mert ezt én sem látom logikusnak. :)

Arra, hogy csak görgetősáv legyen, létezik több kezdeményezés is. (lásd. LiveGrid, vagy a BufferView) Ahhoz, hogy csak lapozó legyen, nem kell mást csinálni, mint meghatározni, hogy egy oldalra maximum hány sor fér ki, és csak annyit kell egyszerre megjeleníteni.

36 komment

Címkék: plugin toolbar grid pagesize paging

readOnly PropertyGrid

2009.01.03. 10:01 stack

A PropertyGrid egy olyan speciális EditorGrid, amelynek két oszlopa van: name és value, ahol a value oszlopban lévő értékek szerkeszthetőek. Amiért érdekes ez az osztály, hogy a használata sokkalta kényelmesebb, átláthatóbb mintha egy szimpla EditorGrid-del készítenénk el ugyanezt.
Sajnos szerkesztés nélküli verziója nincsen. Pedig lehetne... :)

Egy tetszőleges EditorGrid-nél, ha a beforeedit esemény hamis értékkel tér vissza, akkor nem jelenik meg a szerkesztőmező. Ezzel szinte már el is értük a readOnly PropertyGrid-et, ám nem túl elegáns, hogy a gridben a kijelölés csak a value oszlopon látszódik, illetve egy PropertyGrid a HTML felépítésekor kap egy class-t, ami az szokásos selModel-lel rosszul néz ki, így ezt is ki kell ütni.

Tehát:

var readonly_propertygrid = new Ext.grid.PropertyGrid({
    title: 'Properties Grid',
    width: 300,
    renderTo: Ext.getBody(),
    source: {
        "(name)": "My Object",
        "Created": new Date(Date.parse('10/15/2006')),
        "Available": false,
        "Version": .01,
        "Description": "A test object"
    },
    listeners: { 'beforeedit': function() {return false;} },
    selModel: new Ext.grid.RowSelectionModel(),
    onRender: Ext.grid.PropertyGrid.superclass.onRender
});

Szólj hozzá!

Címkék: grid readonly propertygrid

view.focusRow

2008.11.18. 20:06 stack

Ha egy gridhez hozzáadunk egy új sort, akkor alapértelmezetten odaugrik a néző. Ami általában nagyon hasznos. De előfordulhat olyan eset, amikor ez hátrányos. Opció nincs, amivel ezt ki lehetne kapcsolni, de megoldható, hogy átmenetileg kiiktassuk az ugrást:

var fn = view.focusRow;
view.focusRow = Ext.emptyFn;
store.add( records );
view.focusRow = fn;

Szólj hozzá!

Címkék: grid focus

ExtJS blog, mi ez?

Az ExtJS egy JavaScript keretrendszer, melyet a blog írója elfogultan a legjobbnak tart, és ez a blog olyan apróságok gyűjteménye, melyek ExtJS használata közben felmerültek, eszébe jutottak...

Címkék

ajax (4) alignto (1) állás (3) analytics (1) anchorto (1) android (4) animate (2) array (9) auto (1) back button (1) beautifier (1) beforeevent (1) benchmark (1) blur (1) budapest.js (1) button (1) canvas (1) capture (1) case sensitive (1) center (1) change (1) cikkajánló (1) class (2) closure compiler (1) collapse (1) combobox (3) comment (1) console.log (2) contextmenu (2) core (2) count (1) css (15) csv (1) dataview (1) date (4) datefield (3) datepicker (1) debug (1) doksi (1) dragdrop (1) easing (1) eclipse (1) editor (1) element (5) error (5) eval (2) event (1) fejtörő (1) field (2) fieldset (1) filter (1) firefox (4) firefox extension (2) focus (3) fonts (1) fun (1) function (1) google (2) google chrome (1) grayscale (1) grid (4) group contact (1) header (3) height (2) hidden (1) hirek (2) history (1) htaccess (1) html5 (2) htmleditor (2) https (1) icon (3) id (2) ie (2) ie6 (1) ie9 (1) iframe (3) image (2) indexof (1) javascript (1) jquery (2) jslint (2) jsmin (1) json (7) keymap (1) kipróbálom (2) könyvajánló (2) label (1) layout (1) lint (1) log (1) loop (1) magyar (2) mandelbrot (1) mask (1) math (1) maxlength (1) mistake (1) mysql (5) napi szívás (16) nem extjs (12) node (1) nth child (1) number (1) off (5) offline (1) operator (1) override (20) pagesize (1) paging (2) panel (2) php (7) picker (1) plugin (3) pozicionálás (2) preload (1) print (1) propertygrid (1) pseudo (3) readonly (2) record (1) regexp (1) replace (1) resizable (1) rotate (1) round (1) scale (1) sencha touch (2) server (1) shuffle (1) slider (1) sort (3) sortable (1) store (2) string (7) sum (1) tabchange (1) tabpanel (1) tab key (2) tdd (1) template (1) textarea (2) textfield (1) textitem (1) theme (2) throw (1) timer (1) timestamp (1) title (2) toggle (1) toolbar (6) tools (1) total count (1) transparent (1) tree (1) treenode (1) trigger (1) truncate (1) try (1) ucfirst (1) undefined (2) unique (1) unload (1) urlencode (1) utf8 (2) verzió (1) video (1) viewer (1) viewport (2) visible (2) vtype (1) window (2) xtype (1) zindex (2)

Extjs.blog.hu - RSS

Kérdés?