Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJS GridPanel中的垂直滚动条_Extjs_Grid - Fatal编程技术网

ExtJS GridPanel中的垂直滚动条

ExtJS GridPanel中的垂直滚动条,extjs,grid,Extjs,Grid,我正在做一个项目,我在一个页面上有一个网格面板。面板可以显示任意数量的行,并且我设置了autoHeight属性,这会导致GridPanel展开以适应行数。我现在想要一个水平滚动条,因为在某些分辨率下,并非所有列都显示出来(而且我无法减少列数) 如果我设置了自动高度,我没有水平滚动条,如果我没有设置并设置了固定高度,我有一个水平滚动条,但GridPanel显然不适合行数 我能做些什么来解决这个问题吗?我似乎找不到能够达到我需要的结果的属性。这似乎是布局设置与对象属性相反的问题 尝试将父容器的布局属

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

如果我设置了自动高度,我没有水平滚动条,如果我没有设置并设置了固定高度,我有一个水平滚动条,但GridPanel显然不适合行数


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

这似乎是布局设置与对象属性相反的问题


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

正如Ergo所说,这更可能是布局问题-GridPanel可能比包含它的面板高,高到不需要滚动条,但显然不完全可见。将GridPanel放入具有适当布局的容器中,即边框布局、配合布局或卡片布局。正确设置布局管理器通常是ExtJS Fu最困难的部分之一。

我的想法是在包含网格的panel.panel上设置
autoScroll:true

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

请参阅ExtJS4Web应用程序开发手册的第80页和第81页

您可以对“Ext.grid.Panel”使用延迟实例化表示法。意味着对子容器(项)xtype属性使用“网格”

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'
});
添加

viewConfig = {
        scroll:false,
        style:{overflow: 'auto',overflowX: 'hidden'}
    }
有时会导致显示2个滚动条的错误。为了防止这种情况发生,我添加了一个侦听器。然后就可以了

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

就像我说的,我在页面上只有gridpanel,没有布局容器。我对所有这些ExtJS东西都是新手,所以我可能错过了一些东西,我需要在gridpanel周围使用一个容器才能正常工作吗?