如何在视口中放置网格并使网格显示垂直滚动条?

时间:2011-05-10 09:04:53

标签: javascript extjs extjs4

我正在尝试在视口中放置一个看起来很好的网格但是只要我获得的记录多于页面可以显示的某些记录不再可见并且没有滚动条显示,但是水平条显示如预期的那样?

我已经在IE,Firefox和Chrome中对此进行了测试,我得到了同样的行为,所以我相信我正在进行某种设置。

    var grid4 = Ext.create('Ext.grid.Panel', {
    title: 'My Title',
    id:'button-grid',
    store: getLocalStore(),
    layout:'fit',
    columns: [
        { text : 'A', width: 50,dataIndex: 'a', sortable: true},
        { text : 'B',flex: 1, dataIndex: 'b', sortable: true},
        { text : 'C Name',width: 120, dataIndex: 'c', sortable: true},
        { text : 'D',width: 100, dataIndex: 'd', sortable: true},
        { text : 'E',width: 50, dataIndex: 'e', sortable: true},
        { text : 'F',width: 70, dataIndex: 'f', sortable: true},
        { text : 'G info',width: 60, dataIndex: 'g', sortable: true},
        { text : 'H Address',flex: 1, dataIndex: 'h', sortable: true},
        { text : 'I',width: 80, dataIndex: 'i', sortable: true},
        { text : 'J by',width: 80, dataIndex: 'j', sortable: true},
        { text : 'K Date',width: 90, dataIndex: 'k', sortable: true}
    ],
    columnLines: true,
    selModel: selModel,
    iconCls: 'icon-grid',
    // inline buttons
    dockedItems: [{
        xtype: 'toolbar',
        dock: 'bottom',
        ui: 'footer',
        layout: {
            pack: 'center'
        },
        items: [{
            minWidth: 80,
            text: 'remove'
        },{
            minWidth: 80,
            text: 'Disable'
        }]
    }, {
        xtype: 'toolbar',
        items: [{
            text:'Click here',
            tooltip:'Add a new row',
            iconCls:'add',
            handler : function(){
                win.show();
            }
        }]
    }]
});



// viewport
Ext.onReady(function(){
Ext.QuickTips.init();

var application = new Ext.Viewport({
    renderTo: document.body,
    layout:'fit',
    items: [{
        region: 'center',
        frame: true,
        border: false,
        items: grid4
    }]
});    

谢谢

2 个答案:

答案 0 :(得分:1)

你过度嵌套网格:

a)使网格成为视口的第一个子节点。 b)添加适合视口的第一个子项的布局。

a是更好的选择。

答案 1 :(得分:0)

为yout grid panel设置autoScroll属性:

autoScroll: true

默认情况下,此属性的值为false。启用此属性会在组件布局元素上添加溢出:'auto',并在必要时自动显示滚动条。