2012-01-17 74 views
1

我想知道如何覆蓋分頁工具欄的displaymsg和頁碼。如何覆蓋pagingtoolbar?

我試圖讓分頁工具欄與無限滾動工作。我已經準備好了這些組件,以便當用戶移動無限垂直滾動條時,我可以計算出我們使用JavaScript的頁面,並且我想用此數字更新分頁工具欄。同樣,我也計算用戶所在的記錄範圍,並且想要用此範圍更新displaymsg。

我可以修改的HTML直接改變displaymsg但我寧願改變這些{0},{1},{2}變量:

"Displaying {0}-{1} of {2} Item(s)" 

是否有某種類型的商店,我可以獲得改變這些?

我不知道頁碼是否在商店,如果不是,我可以直接編輯html直接更改,而不必擔心衝突。

任何想法或技巧我該如何做到這一點?謝謝。

回答

0

看源..

有一種方法

// private 
    updateInfo : function(){ 
     var me = this, 
      displayItem = me.child('#displayItem'), 
      store = me.store, 
      pageData = me.getPageData(), 
      count, msg; 

     if (displayItem) { 
      count = store.getCount(); 
      if (count === 0) { 
       msg = me.emptyMsg; 
      } else { 
       msg = Ext.String.format(
        me.displayMsg, 
        pageData.fromRecord, 
        pageData.toRecord, 
        pageData.total 
       ); 
      } 
      displayItem.setText(msg); 
      me.doComponentLayout(); 
     } 
    }, 

也許你可以制定這樣的一個公共接口。

乾杯。 :)

+0

謝謝altrange。這改變了displaymsg,任何想法如何改變文本框中的頁碼? – 2012-01-17 15:59:56

1

謝謝altrange。這改變了displaymsg,任何想法如何改變 文本框中的頁碼?

你可以自己生成它。

所以......創造出一些公共的方法 -

refreshDisplayMsg(from, to, total) { 
    var me = this, 
    displayItem = me.child('#displayItem'), 
    msg = Ext.String.format(
        me.displayMsg, 
        from 
        to, 
        total 
    ); 
    displayItem.setText(msg); 
    me.doComponentLayout(); 
} 

此外,這種方法將被儲存的onload hanlder被調用。

+0

下一次擴展您的答案時,請編輯它以添加更多信息。 – Mchl 2012-01-17 16:31:38

+0

感謝您的回答,但我已經解決了這個問題,我指的是頁碼...... – 2012-01-17 17:05:06