EXT中的gridpanel自适应窗口的方法

刚才纠结的调整新项目的页面,其中的一个gridpanel一直没有办法正确显示html

先上背景sql

var reviewTaskPaenl = new Ext.Panel({
    layout:'border',
    items:[
        {
            region:'north',
            height:300,
            layout:'fit',
            items:{
                title:'文件列表',
                border:false,
                items:[
                    reviewFilePanel
                ]
            }

        } ,
        {
            region:'center',
            layout:'fit',
            items:{
                border:false,
                items:[
                    sqlStatementTabPanel
                ]
            }
        }
    ],
    tbar:taskHandlePanel
});

外层的panel是border类型的,内部三个部分,顶部是tbar栏,而后是filepanel,接下来是statementpanel

filepanle是一个gridpanel布局

var reviewFilePanel = new Ext.grid.GridPanel({
    cm:reviewFileStoreCm,
    store:reviewFileStore,
    stripeRows:true,
    loadMask:true,
    trackMouseOver:true,
    //bodyStyle:"height:100%;width:100%",
    autoScroll:true
});

现象就是下图这样

 

试了各类布局都很差使,网上的解决方案是在最外层的panel中使用viewport,而后viewport用fit布局,内部在嵌入gridpanel,是能够自适应了,可是viewport就是整页都显示一个paenl了。code

最终的解决方案是在gridpaenl中加bodystyle,经过CSS来调整htm

var reviewFilePanel = new Ext.grid.GridPanel({
    cm:reviewFileStoreCm,
    store:reviewFileStore,
    stripeRows:true,
    loadMask:true,
    trackMouseOver:true,
    bodyStyle:"height:100%;width:100%",
    autoScroll:true
});

最终终于实现了要求

 

总结一下,EXT的layout其实挺讨厌的,以前没有作个swing的程序,一直都是用div或者table来布局,这两天画界面各类纠结。ext的文档上有一些经常使用的布局和demo,没事的时候多看看。ip

http://dev.sencha.com/deploy/ext-3.4.0/examples/layout-browser/layout-browser.html 文档

相关文章
相关标签/搜索