C'è un modo per modificare il testo del pulsante "Aggiorna" nella griglia dell'Editor riga ExtJS-4?ExtJS 4> Editor riga griglia> Come modificare il pulsante "Aggiorna" Testo
risposta
Buona domanda, ho avuto uno sguardo attraverso il codice sorgente e mentre non c'è nulla dentro il plugin RowEditing, nella classe si estende 'RowEditor.js' v'è la seguente:
Ext.define('Ext.grid.RowEditor', {
extend: 'Ext.form.Panel',
requires: [
'Ext.tip.ToolTip',
'Ext.util.HashMap',
'Ext.util.KeyNav'
],
saveBtnText : 'Update',
cancelBtnText: 'Cancel',
...
});
Così ho' d assume avresti solo bisogno di ignorare il 'saveBtnText'
nella vostra istanza di 'Ext.grid.plugin.RowEditing'
come si chiama il costruttore genitore con callParent (argomenti) nella classe di RowEditing
non che facile e non senza l'hacking nelle aree non documentate. Il problema è che il Ext.grid.plugin.RowEditing
crea un'istanza diretta di Ext.grid.RowEditor
senza consentire il passaggio nelle opzioni di configurazione. Quindi, in generale, è necessario eseguire l'override del metodo initEditor()
nel plugin e un'istanza per il proprio editor di fila:
// ...
plugins: [{
ptype: 'rowediting',
clicksToEdit: 2,
initEditor: function() {
var me = this,
grid = me.grid,
view = me.view,
headerCt = grid.headerCt;
return Ext.create('Ext.grid.RowEditor', {
autoCancel: me.autoCancel,
errorSummary: me.errorSummary,
fields: headerCt.getGridColumns(),
hidden: true,
// keep a reference..
editingPlugin: me,
renderTo: view.el,
saveBtnText: 'This is my save button text', // <<---
cancelBtnText: 'This is my cancel button text' // <<---
});
},
}],
// ...
hai controllato il tuo codice? Il metodo startEdit() restituisce un errore! "Intestazione non definita". D'altra parte il codice sopra funziona bene per la modifica. Per risolvere il problema, inizializzare il plugin su initComponent e non tramite il caricamento lazy. –
Potresti avere ragione. Non ho provato il codice con il caricamento automatico abilitato. –
Per ExtJS 4
Ext.grid.RowEditor.prototype.cancelBtnText = "This is cancel";
Ext.grid.RowEditor.prototype.saveBtnText = "This is update";
Questa soluzione è quella di definire il prototipo di rowEditors. ciò significa che questa configurazione è generale. Se vuoi cambiarlo solo per un editor, o se vuoi ottenere configurazioni diverse, il prototipo non è sicuramente la soluzione.
un'occhiata al codice sorgente:
initEditorConfig: function(){
var me = this,
grid = me.grid,
view = me.view,
headerCt = grid.headerCt,
btns = ['saveBtnText', 'cancelBtnText', 'errorsText', 'dirtyText'],
b,
bLen = btns.length,
cfg = {
autoCancel: me.autoCancel,
errorSummary: me.errorSummary,
fields: headerCt.getGridColumns(),
hidden: true,
view: view,
// keep a reference..
editingPlugin: me
},
item;
for (b = 0; b < bLen; b++) {
item = btns[b];
if (Ext.isDefined(me[item])) {
cfg[item] = me[item];
}
}
return cfg;
}`
questo metodo INIT del rowEditor, e c'è un anello su Btns Array:
Btns Array:
btns = ['saveBtnText', 'cancelBtnText', 'errorsText', 'dirtyText']
for (b = 0; b < bLen; b++) {
item = btns[b];
if (Ext.isDefined(me[item])) {
cfg[item] = me[item];
}
}
In questa stringa ciclo foreach in btnArray viene cercato se esiste in cfg la stessa proprietà stringa, se viene trovato è aggiunto a config. Devi solo per gestire che questo ciclo trova quello che si desidera modificare:
Esempio: vogliamo cambiare il testo del pulsante di salvataggio:
la proprietà saveBtnText, che è il primo elemento di Btns array deve esiste in CFG :
if (Ext.isDefined(me[item])) {
cfg[item] = me[item];
}
questa ricerca se la proprietà esiste: if (Ext.isDefined(me[item]))
se saveBtnText esiste già nella proprietà rowEditor poi:
cfg[item] = me[item];
e la proprietà di configurazione aggiuntiva verrà impostata !!
- 1. Come modificare il colore del testo di una sola riga in una griglia ExtJS?
- 2. in Editor ExtJS Grid/Grid
- 3. Widget Android: come modificare il testo di un pulsante
- 4. Come modificare il testo del pulsante in Swift Xcode 6?
- 5. UIActivityViewController - come modificare il testo del pulsante di annullamento
- 6. Come modificare il testo del pulsante Indietro di uinavigationbar
- 7. ExtJS Come modificare il completamento automatico del parametro textfield = "off"
- 8. Impossibile modificare il testo del pulsante in HTML e JavaScript
- 9. Intellij come editor di testo
- 10. Come centrare un'icona in un pulsante extjs?
- 11. come impostare il valore per il campo di testo extjs?
- 12. Vagrant risincronizzazione del file: Vagrant Box non aggiorna il nuovo contenuto in editor di testo
- 13. come modificare l'altezza della riga 'inner' del testo css
- 14. Come modificare la riga precedente del testo della console?
- 15. Come modificare l'altezza della riga in QTextTable
- 16. come forzare attenzione per modificare il testo
- 17. CSS: come modificare la spaziatura tra il pulsante di opzione e il suo testo?
- 18. Ace editor - inserisci il testo nella posizione
- 19. utilizzando il testo editor WYSIWYG con angular2
- 20. ExtJS: Come racchiudere il testo in un ListView con colonne?
- 21. Cambia il testo del pulsante tastiera "Invio"
- 22. Uso di jQuery per modificare il testo del pulsante di input dopo alcuni secondi
- 23. È possibile modificare il testo del pulsante Facebook come "okay, guarda video" come nell'app SocialCam?
- 24. Come modificare il testo dell'etichetta di ActiveField?
- 25. Come modificare il testo in datepicker?
- 26. Come modificare il testo di Raphael?
- 27. come modificare il testo Android SearchView
- 28. Come modificare il testo sui pulsanti Messagebox?
- 29. ExtJS estendere il plug-in RowEditor della griglia (per modificare l'array)
- 30. Rails invia testo del pulsante (formtastic) - come modificare l'etichetta del pulsante di invio?
questo è fantastico – Faradox