2012-02-14 1 views
1

Нет настроенной настройки для кнопки обновления, поэтому я пытаюсь скрыть/удалить ее. hideRefresh: true не работал для меня.ExtJs Ext.PagingToolbar: скрыть или установить параметры для кнопки обновления onclick?

Если нет способа скрыть его, могу ли я хотя бы передать некоторые параметры при нажатии кнопки, чтобы я мог сделать некоторые важные задачи?

pPanel = new Ext.Panel({ 
    applyTo: 'newProgWin', 
    autoScroll:true, 
    styleClass: 'formInput', 
    bodyStyle: 'overflow-x: hidden', 
    align: 'center', 
    layout:'fit', 
    width:899, 
    height:450, 
    closeAction:'hide', 
    plain: true, 
    items: winDataView = new Ext.DataView({ 
     tpl: resultTpl, 
     store: npDs, 
     itemSelector: 'div.search-item' 
    }), 

    tbar: [ 
       'Search: ', ' ', 
      (winSearchField = new Ext.ux.form.SearchField({ 
       store: npDs, 
       width:300 
      })) 
     ], 
    bbar: new Ext.PagingToolbar({ 
       beforeLoad : function() 
       { 
        pocProxy.extraParams = { 
         eps: currentProgs, 
         stateful: true, 
         dataCall: dataCallId, 
         orgNameConvention: currentOnc, 
         installation: currentInstallation 
        }; 
       }, 
       store: npDs, 
       pageSize: pageSize, 
       displayInfo: true, 
       //hideRefresh: true, 
       displayMsg: 'Organizations {0} - {1} of {2}', 
       emptyMsg: "No Organizations available to display" 

      }) 
}); 

ответ

4

Не существует свойства hideRefresh в Ext.PagingToolbar.

Вы можете получить доступ к кнопке обновления через объект bbar (экземпляр Ext.PagingToolbar).

pPanel.bbar.refresh

Вы можете скрыть его с помощью функции hide().

pPanel.bbar.refresh.hide()

Вы также можете скрыть его в afterrender случае в вашем Ext.PagingToolbar:

listeners: { 
    afterrender: function() { 
     this.refresh.hide(); 
    } 
} 

Вы можете изменить поведение кнопки обновления с помощью переопределения функции doRefresh в просветляющем

pPanel.bbar.doRefresh

Относительно вашего кода это не хорошей идеей для переопределения функции beforeLoad вы будете возиться с внутренностями, если только это не преднамеренно. Может, вместо этого переместить его на объект магазина?

Обязательно проверьте документацию и ее код, потому что это поможет вам в отладке. ;)

+0

Hi, CincauHangus. На самом деле я попытался и скрыть метод, но как-то pPanel.bbar.refresh ничего не возвращает. , чтобы скрыть его со слушателями, работает для меня. благодарит за вашу помощь :) – JoJoAngel

+0

Рад помочь. Отметьте мой ответ как решение, если оно удовлетворит ваш вопрос. благодаря – CincauHangus

1
listeners:{ 
    afterrender:function(){ 
     var a = Ext.query("button[data-qtip=Refresh]"); 
     for(var x=0;x < a.length;x++) 
     { 
      a[x].style.display="none"; 
     } 
    } 
} 
1

Этот код работает отлично для меня:

this.bbar = Ext.create('Ext.PagingToolbar', { 
      store: 'Interactions', 
      displayInfo: false, 
      preprendButtons: false, 
      listeners: { 
       afterrender : function() { 
        this.child('#refresh').hide(); 
       } 
      } 
     }); 
-1

вы можете дать несколько меньшую ширину на панели инструментов постраничной так, что компонент обновления получает скрытых: P

0

В ExtJS 6.2 у меня было чтобы использовать этот код:

var toolbar = this.lookupReference('pagingtoolbar');  
toolbar.on('afterrender', function() { 
    this.getComponent('refresh').hide(); 
}); 
Смежные вопросы