代码之家  ›  专栏  ›  技术社区  ›  JDT

extjs gridpanel中的垂直滚动条

  •  10
  • JDT  · 技术社区  · 14 年前

    我正在做一个项目,在一个页面上有一个网格面板。面板可以显示任意数量的行,并且我设置了Autoheight属性,这将导致GridPanel展开以适应行数。我现在想要一个水平滚动条,因为在某些分辨率上并没有显示所有列(而且我不能减少列的数量)。

    如果我设置了自动高度,我就没有水平滚动条,如果我不设置它,并且设置了固定的高度,我就有水平滚动条,但是网格面板显然不适合行数……

    我能做些什么来解决这个问题吗?我似乎找不到一个能达到我需要的结果的财产。

    5 回复  |  直到 11 年前
        1
  •  8
  •   JustBeingHelpful    12 年前

    您会发现在网格面板周围放置父容器(ext.panel.panel或任何真正的容器)是成功的。如果硬编码父容器的高度、宽度和布局(以“适应”),则子项(ext.grid.panel)将展开以填充其父容器中的整个可用空间。

    见第80页和第81页 ExtJS4 Web应用程序开发手册 .

    您可以使用“ext.grid.panel”的惰性实例化表示法。意思是对您的子容器(项)使用“网格” X型 属性。

    Ext.create('Ext.panel.Panel', {
        title: 'parent container',
        width: 800,
        height: 600,
        layout: 'fit',
        items: {
            xtype: 'grid',
            title: 'child container',
    
            ... define your grid here 
    
        },
        renderTo: 'grand parent container'
    });
    
        2
  •  5
  •   justinzane    13 年前

    我的想法是 autoScroll: true 在面板上。包含网格的面板。

        3
  •  1
  •   SW4    14 年前

    与对象属性相比,布局设置似乎有问题。

    尝试将父容器的layout属性设置为“fit”-还可以提供代码摘要吗?

        4
  •  1
  •   Erich Kitzmueller    14 年前

    正如Ergo所说,这更可能是一个布局问题——网格面板可能比包含它的面板高,足够高,不需要滚动条,但显然不完全可见。将网格面板放入具有适当布局的容器中,即边框布局、配合布局或卡片布局。让布局管理器正确运行通常是extjs fu中最困难的部分之一。

        5
  •  0
  •   Max Tatarchenko    11 年前

    添加

    viewConfig = {
            scroll:false,
            style:{overflow: 'auto',overflowX: 'hidden'}
        }
    

    有时会导致显示两个滚动条的错误。为了防止出现这种情况,我添加了一个侦听器。然后工作得很好。

    this.on('scrollershow',function(scroller,orientation,eOpts){
            if (orientation=='vertical'){
                scroller.hide();                
            }
    },this);