看网上一大堆解决方法,不少用事件处理方式一但窗口大小改变了就根据window去重新计算grid宽度高度,其实很简单的办法,grid外面加上Viewport就行了,比你自己算强多了
var grid= Ext.create('Ext.grid.Panel', {
//width: 不需要定义宽度
//height: 不需要定义高度
//renderTo:也千万不要定义渲染对象
........
};
var viewport = Ext.create('Ext.Viewport', {
layout : 'fit',
items :grid
});
Viewport会自动根据屏幕改变大小,因为定义了layout:'fit',则其有包含的元素grid也会自动改变大小
另:有些人还通过计算窗口改变后的大小重新计算列的宽度,用上flex就行了呀,还废那么多事干嘛