diff --git a/controls/slick.gridmenu.css b/controls/slick.gridmenu.css index 846fd0e9..908c0cc4 100644 --- a/controls/slick.gridmenu.css +++ b/controls/slick.gridmenu.css @@ -8,7 +8,7 @@ min-width: 180px; cursor: default; position:absolute; - z-index:20; + z-index: 2000; overflow:auto; resize: both; } diff --git a/controls/slick.gridmenu.js b/controls/slick.gridmenu.js index e65ac9e3..84c02160 100644 --- a/controls/slick.gridmenu.js +++ b/controls/slick.gridmenu.js @@ -94,10 +94,12 @@ function SlickGridMenu(columns, grid, options) { var _grid = grid; + var _gridUid = (grid && grid.getUID) ? grid.getUID() : ''; var _isMenuOpen = false; var _options = options; var _self = this; var $list; + var $button; var $menu; var columnCheckboxes; var _defaults = { @@ -112,8 +114,11 @@ function init(grid) { var gridMenuWidth = (_options.gridMenu && _options.gridMenu.menuWidth) || _defaults.menuWidth; - var $header = $('.slick-header'); + var $header = $('.' + _gridUid + ' .slick-header'); $header.attr('style', 'width: calc(100% - ' + gridMenuWidth +'px)'); + + // subscribe to the grid, when it's destroyed, we should also destroy the Grid Menu + grid.onBeforeDestroy.subscribe(destroy); // if header row is enabled, we need to resize it's width also var enableResizeHeaderRow = (_options.gridMenu && _options.gridMenu.resizeOnShowHeaderRow != undefined) ? _options.gridMenu.resizeOnShowHeaderRow : _defaults.resizeOnShowHeaderRow; @@ -122,7 +127,7 @@ $headerrow.attr('style', 'width: calc(100% - ' + gridMenuWidth +'px)'); } - var $button = $('