2015-10-14 2 views
0

Мне нравится отделять вкладку MessageBox до вкладки. Один MessageBox будет показан на одной отдельной вкладке и будет скрыт от всех других вкладок. Что теперь отображается как глобальное в приложении. Есть ли способ показать сообщение под каждой вкладкой (-ами) в приложении.Custome MessageBox под Tab (ы) ExtJs

+0

Просьба предоставить код, который может охватывать ваш пример –

ответ

0

Вы не можете использовать почтовый ящик с различным контентом на отдельных вкладках одновременно, в то время как ящик сообщений является одноэлементным, но вы можете создать свой собственный почтовый ящик, простирающийся от окна и отображающий каждый экземпляр на отдельную вкладку. Вот example с собственным окном, но он будет работать с расширенным компонентом.

+0

Спасибо, это мне помогает. – Naeem

0

Вы не можете напрямую использовать Ext.window.MessageBox, чтобы достичь того, чего хотите. С другой стороны, вы можете создать небольшой служебный класс, который расширяет Ext.window.Window, со статической функцией, которая заставляет его отображаться с заголовком, сообщением и кнопками в качестве параметров и использовать опцию constrainTo, чтобы сделать ее принадлежащей вашей вкладке.

Таким образом, у вас есть окно, которое может быть «в собственности» на вкладке вместо появления глобально

+0

да его работы, как вы сказали. – Naeem

0

Здесь я создать функцию, чтобы показать сообщение в MessageBox. И я могу использовать его, что мне нужно.

ShowPrivateMessage: function(title, widthValue, heightValue, msgText, renderTabId){ 
    Ext.create("Ext.window.Window",{ 
     title : title, 
     width : widthValue, 
     height: heightValue, 
     html : '<span style="font-size: small">'+ msgText + '</span>', 
     renderTo: renderTabId, 
     resizable: false, 
     draggable: false, 

     bodyPadding: '10px', 
     listeners:{ 
      afterrender: function(sender, eOpt){ 
       var parentWindow = Ext.getCmp(renderTabId); 
       parentWindow.disable(); 
      } 
      ,close: { 
       fn:function(ctrl,opt){ 
        var parentWindow = Ext.getCmp(renderTabId); 
        parentWindow.enable(); 
       } 
      } 
     } 
    }).show(); 
}