ComboBox.getSelectedRecord()

2009.04.16. 11:18 stack

Hosszan nézegettem a doksit, de nem találtam olyan függvényt, ami megadná a ComboBox-hoz tartozó kiválasztott rekordot. Ellentmondásos számomra, hogy ha van függvény a Store lekérésére, akkor miért nincs a kiválasztott rekord lekérésére, illetve ehhez miért kell egy privát (és ezáltal a doksiban sem szereplő) eljárást használni?

Ext.override(Ext.form.ComboBox, {
    getSelectedRecord: function() {
        return this.findRecord(this.valueField, this.getValue());
    }
});

Példa:

Ext.override(Ext.form.ComboBox, {
    getSelectedRecord: function() {
        return this.findRecord(this.valueField, this.getValue());
    }
});

var combo = new Ext.form.ComboBox({
    renderTo: Ext.getBody(),
    value: 1,
    valueField: 'value',
    displayField: 'display',
    triggerAction: 'all',
    typeAhead: true,
    mode: 'local',
    editable: false,
    store: new Ext.data.ArrayStore({
        fields: ['value', 'display', 'extra_field'],
        data: [[1, 'egy', 'Hello világ!'], [2, 'kettő', '42']]
    })
});

var record = combo.getSelectedRecord();
alert(record.get('extra_field'));

2 komment

Címkék: combobox override record

A bejegyzés trackback címe:

https://extjs.blog.hu/api/trackback/id/tr691068302

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Markó.Imre 2010.01.14. 08:12:37

Szia

Arra tudnál pédát írni, hogy ezt hogyan kell használni? Mert kipróbáltam a combobox definíciója után berakni, meghívásnál nem kapok hibát, de nem is jelenik meg semmi. Köszi

stack 2010.01.15. 07:21:40

Szia! Az override függvényeket minden esetben hamarabb kell meghívni annál, mint az őket használó konkrét elemeket létrehoznád.

A JavaScript egy gyengén típusos nyelv, azaz itt nem beszélhetünk a szó eredeti értelmében használt osztályokról.

Úgy kell elképzelni, hogy ezzel felülírod a ComboBox "osztályt". Ám ha a felülírás előtt hozol létre egy példányt, akkor az még az eredeti ComboBox "osztály" egy példányosítása lesz, és akkor őt nem érinti majd a felülírás.

Kiegészítettem a blogbejegyzést egy konkrét példával is.

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?