Sono nuovo con EXTJS 4 e questo forum. Scusa se è già stato discusso in un'altra discussione, ma non l'ho trovato.Esiste un gestore di eventi nei pulsanti di EXTJS Paging Toolbar?
La mia domanda è, voglio il mio Grid Panel con Pagination per aggiornare il suo store ogni 10 secondi. Ho trovato una soluzione usando userStore.loadPage(current_page)
, ma ha un problema.
Un po 'di tempo, aggiornando Grid Panel quasi nello stesso tempo con l'utente, fai clic su "next" o "prev" in Pagination. Questo rende Grid Panel non funzionante correttamente. Quello che voglio è che quando faccio clic su "next" o "prev" o "refresh", la richiesta precedente (userStore.loadPage(current_page)
) è stata interrotta. Quindi non interferirà con la mia richiesta attuale.
Ma non ho trovato evento nella barra degli strumenti di paginazione di EXTJS per gestire il pulsante "successivo", "prev" o "Aggiorna". Qual è la soluzione per questo problema? C'è un modo?
Questo è il mio codice appena per riferimento:
// create User Store
var userStore = Ext.create('Ext.data.Store', {
model: 'EDC',
autoLoad: true,
pageSize: 10,
proxy: {
type: 'ajax',
url : 'Monitoring', // it is using Java servlet, so I write it this way
reader: {
type: 'json',
root: 'edc',
totalProperty: 'total'
}
}
});
// create Grid Panel
Ext.create('Ext.grid.Panel', {
store: userStore,
width: 800,
height: 400,
columns: [
{
text: "ID",
width: 50,
dataIndex: 'id'
},
{
text: 'Serial Number',
flex: 1,
dataIndex: 'sn'
}
// etc...
],
dockedItems: [{
xtype: 'pagingtoolbar',
store: userStore,
dock: 'bottom',
displayInfo: true
}]
});
E 'quanto viene aggiornato ogni 10 secondi
// after on Ready, reload every 10 seconds
Ext.onReady(function(){
self.setInterval("reloadCurrentEdc()", 10000);
});
// function for update
function reloadCurrentEdc(){
if(typeof userStore != 'undefined'){
userStore.loadPage(userStore.currentPage);
}
}
Dove devo mettere questo?Inoltre, penso che ci sia un errore di battitura: "beforehange", (supponiamo che dovrebbe essere cambiato) –