论坛首页 Web前端技术论坛

Ext GridPanel 宽度设置问题

浏览 36527 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-01-05  
gygcloud 写道
width: Ext.get("divname").getWidth(),
这样就可以了.
刚得到的.


divname的宽度固定(100%也是固定的),则在初始化grid时,grid的宽度也是固定的。那么将grid渲染后,调整窗口大小,则grid不会随着窗口大小而变化。 举例:
div: 
   <div id="divID" style="width:100%"></div>

var width = Ext.get("divID").getWidth(); 
alert(width);// 此时宽度为div的数字宽度。如1265

// 赋值到grid上相当于
new Ext.grid.GridPanel({
    width: 1265....
});

我们调整整个IE窗口的大小,则会发现GridPanel还是撑出去了,因为它不是我们期望的100%
不过还是感谢楼主。
0 请登录后投票
   发表时间:2008-01-08  
通过Viewport的嵌套使用可以解决了
可以看一下examples\forum的例子,我是在那里找到的
0 请登录后投票
   发表时间:2008-01-08  
stworthy 写道
设置grid自适应宽度,首先要清楚grid放在什么容器中,设置该容器的layout:fit就行了。比如页面上如果只放置一个grid,一般改成用Viewport,再在Viewport中包含grid就能解决问题了。

{
region:'center',
layout:'fit',
items:grid
}


这位大哥能说详细些吗?我的grid容器就是一个在
引用
<body>
...
<div id="grid"></div>
</body>

设置成<div id="grid" style="layout:fit;"></div>后
出现下面样子.bbar 和bbar头尾工具条正常,下中间的宽度就无限延伸好几倍了.

能指出我的这个<div id="grid">应该怎么设置吗?

如果能做到窗口大小手动改变时gridpanel也能跟随改变就最好了.
  • 大小: 510.7 KB
0 请登录后投票
   发表时间:2008-01-10  
在GridPanel里加上 bodyStyle:'width:100%', 配置项就可以了
0 请登录后投票
   发表时间:2008-01-11  
stworthy 写道
设置grid自适应宽度,首先要清楚grid放在什么容器中,设置该容器的layout:fit就行了。比如页面上如果只放置一个grid,一般改成用Viewport,再在Viewport中包含grid就能解决问题了。

{
region:'center',
layout:'fit',
items:grid
}

这里早就说明了解决办法了,都不认真看贴的。
1 请登录后投票
   发表时间:2008-01-16  
我把width删掉了,宽度就自适应了。
0 请登录后投票
   发表时间:2008-05-14  
gygcloud 写道
width: Ext.get("divname").getWidth(),
这样就可以了.
刚得到的.

使用这位仁兄的方法成功了.分享给大家

var grid = new Ext.grid.GridPanel({
		//autoWidth:true,
        border:false,
		width: Ext.get('center_context_desktop').getWidth(), 
        ds: new Ext.data.Store({
            reader: new Ext.data.ArrayReader({}, [
               {name: 'company'},
               {name: 'price', type: 'float'},
               {name: 'change', type: 'float'},
               {name: 'pctChange', type: 'float'},
               {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
            ]),
            data: Ext.grid.dummyData
        }),
        cm: new Ext.grid.ColumnModel([
            new Ext.grid.RowNumberer(),
            {id:'company',header: "Company", width: 120, sortable: true, dataIndex: 'company'},
            {header: "Price", width: 70, sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
            {header: "Change", width: 70, sortable: true, dataIndex: 'change'},
            {header: "% Change", width: 70, sortable: true, dataIndex: 'pctChange'},
            {header: "Last Updated", width: 95, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
        ]),

        viewConfig: {
            forceFit:true
        },
        autoExpandColumn:'company'
    });
//autoWidth:true,
这一行一定要隐藏,在ie7和ff下试了,是没有问题的.
同时还有bodyStyle:'width:100%',这个也试成功了 
 

 

0 请登录后投票
   发表时间:2008-05-20  
可是我却没有试成功,我在window里放Panel,无论怎么改,window窗体都是被无限拉宽的
0 请登录后投票
   发表时间:2008-06-09  
用 Viewport可以解决你的问题
0 请登录后投票
   发表时间:2008-06-09  
firefox这么烂的浏览器,如果是做网站,还考滤一下,如果是做企业管理系统,还有必要考滤这等浏览器?
我发现EXT好多的东西在firefox下都有问题,不是变形了就中背景色没有了。
顺便问一下,你们用EXT时,都做到了 One Page,One System吗?真的都放一个页面了吗?
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics