[Ext.Net] 1.x GridPanel列数过多给Menu菜单加滚动条

来源:互联网 发布:苹果系统开发linux 编辑:程序博客网 时间:2024/05/24 00:43

转自:http://www.ext.net.cn/thread-1944-1-2.html

当GirdPanel列数过多,查看列的显示隐藏时会出现下面下面情况,有部分超出了界面被遮罩住了

33.jpg 
要解决这个问题,可通过给菜单加滚动条属性,代码如下
function ready() {
            Ext.override(Ext.menu.Menu, {
                showAt: function (xy, parentMenu, _e) {
                    this.parentMenu = parentMenu;
                    if (!this.el) {
                        this.render();
                    }
                    if (_e !== false) {
                        this.fireEvent("beforeshow", this);
                        xy = this.el.adjustForConstraints(xy);
                    }
                    this.el.setXY(xy);
                    var maxHeight = Ext.getBody().getHeight() - xy[1];
                    if (this.el.getHeight() > maxHeight) {
                        this.el.setHeight(maxHeight);
                        this.el.applyStyles('overflow-y: auto;');
                    }
                    this.el.show();
                    this.hidden = false;
                    this.focus();
                    this.fireEvent("show", this);
                },
                autoWidth: function () {
                    if (/^\d+$/.test(this.width + '')) {
                        this.width += "px";
                    }
                }
            });
        }

在DocumentReady时调用
<ext:resourcemanager id="resManager" runat="server">
          <Listeners>
              <DocumentReady Handler="ready();" />
        </Listeners>
     ext:resourcemanager>

效果图如下:
55.jpg
原创粉丝点击