Есть ли обработчик событий в кнопках EXTJS Paging Toolbar?

Я новичок в EXTJS 4 и на этом форуме. Извините, если это уже обсуждалось в другой теме, но я не нашел.

Мой вопрос в том, что я хочу, чтобы моя панель Grid с пагинацией обновляла свой магазин каждые 10 секунд. Я нашел решение, используя userStore.loadPage(current_page), но у него есть проблема.

Некоторое время обновление Grid Panel происходит почти одновременно с нажатием пользователем кнопки "next" или "prev" в Pagination. Из-за этого панель Grid Panel не работает должным образом. Я хочу, чтобы когда я нажимаю "next" или "prev" или "refresh", предыдущий запрос (userStore.loadPage(current_page)) прерывался. Так что это не помешает моему текущему запросу.

Но я не нашел события в EXTJS Paging Toolbar для обработки кнопок "next", "prev" или "refresh". Каково решение этой проблемы? Есть ли какой-нибудь способ?

Вот мой код для справки:

// 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
    }]
});

Он обновляется каждые 10 секунд

// 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);
    }
}
5
задан Wahyu Fahmy 19 October 2011 в 02:45
поделиться