2015-01-14 9 views
2

Я пытаюсь показать меню в панели сетки. У меня есть actioncolumn для отображения значка, и я хочу применить эффект ... когда мышь над этим значком, отобразится меню.Как показать меню в сетке - ExtJS 5?

Как я могу это сделать в extjs 5?

Мой actioncolumn это:

{ 
    xtype: 'actioncolumn', 
    width: 70, 
    items: [{ 
    icon: 'resources/images/icons/cog_edit.png', // Use a URL in the icon config 
      tooltip: 'Edit', 
      handler: function(grid, rowIndex, colIndex, a, b, c) { 

      } 
    }] 
} 
+0

См. Ответ от Farish на этом [сообщение] (http://www.sencha.com/forum/showthread.php?260803-Creating-right-click-context-menu-on-an-empty-extjs-grid) – Scriptable

ответ

3

Ссылаясь на эту post, что я говорил в комментариях, ваше решение может выглядеть примерно так:

var menu_grid = new Ext.menu.Menu({ 
    items: [ 
     { text: 'Add', handler: function() {console.log("Add");} }, 
     { text: 'Delete', handler: function() {console.log("Delete");} } 
    ] 
}); 

... 
{ 
    xtype: 'actioncolumn', 
    width: 70, 
    items: [{ 
     icon: 'resources/images/icons/cog_edit.png', // Use a URL in the icon config 
     tooltip: 'Edit', 
     handler: function(grid, rowIndex, colIndex, item, e, record) { 
      var position = e.getXY(); 
      e.stopEvent(); 
      menu_grid.showAt(position); 
     } 
    }] 
} 

EDIT: Будьте осторожны, создавая предметы например, когда они скрыты, они полностью не удаляются и могут вызвать утечку памяти, обратитесь к этому post за дополнительной информацией и возможными обходными решениями/решениями.

+0

Это работает, но не с событием mouseover. Есть ли у вас идея отображать меню с событием mouseover? –

+0

Я бы не стал переделывать это с помощью мыши, так как вам нужно было бы реализовать мышь, чтобы удалить его потом, что также срабатывало при попытке использовать меню – Scriptable

Смежные вопросы