日期:2014-05-16 浏览次数:20460 次
?
Ext.ns("Ext.grid.plugins");
Ext.grid.plugins.AutoResize = Ext.extend(Ext.util.Observable,{
init:function(grid){
grid.applyToMarkup = function(el){
grid.render(el);
}
var containerId = Ext.get(grid.renderTo || grid.applyTo).id;
if(Ext.isIE){
Ext.get(containerId).on("resize",function(){
grid.setWidth.defer(100,grid,[Ext.get(containerId).getWidth()]);
});
}else{
window.onresize = function(){
grid.setWidth(Ext.get(containerId).getWidth());
}
}
}
});
?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>autoresize</title>
<link rel="stylesheet" type="text/css" href="http://dev.sencha.com/deploy/dev/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="http://dev.sencha.com/deploy/dev/resources/css/xtheme-gray.css" />
<script type="text/javascript" src="http://dev.sencha.com/deploy/dev/adapter/ext/ext-base-debug.js"></script>
<script type="text/javascript" src="http://dev.sencha.com/deploy/dev/ext-all-debug.js"></script>
<script type="text/javascript" src="http://dev.sencha.com/deploy/dev/src/locale/ext-lang-zh_CN.js"></script>
<link rel="stylesheet" type="text/css" href="ext-patch.css" />
<script type="text/javascript" src="AutoResize.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
var data = new Array();
for(var i=1;i<=100;i++){
data.push({id:i,name:"name"+i,sex:i%2 == 0?"man":"woman",age:i});
}
var grid = new Ext.grid.GridPanel({
height:600,
plugins:new Ext.grid.plugins.AutoResize(),
frame:true,
title:"Grid",
//renderTo:"gridPanel",
applyTo:"gridPanel",
viewConfig:{
forceFit:true
},
columns:[
{dataIndex:"id",header:"id",sortable:true},
{dataIndex:"name",header:"name",sortable:true},
{dataIndex:"sex",header:"sex",sortable:true},
{dataIndex:"age",header:"age",sortable:true}
],
store:new Ext.data.JsonStore({
autoLoad:true,
data:data,
fields:["id","name","sex","age"]
})
});
});
</script>
</head>
<body style="margin:0px;padding:0px;">
<div id="gridPanel" style="width: 100%;"></div>
</body>
</html>
Ext.ns("Ext.grid.plugins");
Ext.grid.plugins.AutoResize = Ext.extend(Ext.util.Observable, {
init : function(grid) {
var id = grid.getId();
grid.applyToMarkup = function(el) {
grid.render(el);
};
// || Ext.get(grid.renderTo || grid.applyTo).id;
var containerId = 'center';
obj = Ext.getCmp(containerId);
PMS.ctrl.autosize = obj;
var width = obj.getWidth();
var height = obj.getHeight();
grid.setWidth(width - 20);
grid.setHeight(height - 90);
obj.on("resize", function(panel, adjWidth, adjHeight, rawWidth,
rawHeight) {
//通过ID获取对象本身,如果是对象传递当对象关闭后就会出现著名的:this.dom is undefined
var grid = Ext.getCmp(id);
grid.setWidth(adjWidth - 20);
grid.setHeight(adjHeight - 90);
});
}
});
if (grid) {
grid.setWidth(adjWidth - 20);
grid.setHeight(adjHeight - 90);
}