Я создал две панели вкладок, и каждая панель имеет сетку.Extjs 3 rowcontext destroy
Слушатель для сетки A:
Ext.getCmp('AGrid').addListener("rowcontextmenu", function menus(grid, rowIndex, e) {
if (!grid.contextMenu) {
grid.contextMenu = new Ext.menu.Menu({
autoDestroy: false,
items: [{ id: 'view', text: 'View Content'}],
currentRowIndex: rowIndex,
listeners: {
itemclick: function (item) {
switch (item.id) {
case 'view':
viewEmailClick(grid.getStore().getAt(this.currentRowIndex).data);
break;
}
}
}
});
}
this.contextMenu.currentRowIndex = rowIndex;
e.stopEvent(); // this stops the browser context menu and allows the default grid
// show the row context menu here
this.contextMenu.showAt(e.xy);
});
Слушатель для сетки B:
Ext.getCmp('BGrid').addListener("rowcontextmenu", function menus(grid, rowIndex, e) {
if (!grid.contextMenu) {
grid.contextMenu = new Ext.menu.Menu({
autoDestroy: false,
items: [{ id: 'view', text: 'View Task'}],
currentRowIndex: rowIndex,
listeners: {
itemclick: function (item) {
switch (item.id) {
case 'view':
viewTicketClick(grid.getStore().getAt(this.currentRowIndex).data);
break;
}
}
}
});
}
this.contextMenu.currentRowIndex = rowIndex;
e.stopEvent(); // this stops the browser context menu and allows the default grid
// show the row context menu here
this.contextMenu.showAt(e.xy);
});
Когда я правой кнопкой мыши на ней сетке работает нормально, а затем щелкните правой кнопкой мыши на меню rowcontext Сетка B не (просто показывает маленькую серо-точку).
После ворочу к сетке А и правой кнопкой мыши, он показывает два rowcontext меню на Энергосистемы A:
Если я правой кнопкой мыши на B сетки и сетка правой кнопкой мыши (ничего не показывает) после того, как вернитесь к B-сетке это показывает строку контекстного меню, которое содержит два списка (обратный порядок) на сетке B.
Почему такие вещи случаются?
Как я могу правильно показать каждое контекстное меню строки сетки?
Параметр используется при встроенной функции. Это не проблема – ShootingStar