读书人

[转]解决Ext3.0之后版本Gridpanel不能

发布时间: 2012-08-28 12:37:01 作者: rapoo

[转]解决Ext3.0以后版本Gridpanel不能更改列样式的BUG
在EXT3.0后的版本,在GridPanel加载数据时你更改了某一列某一行的数据的显示方式,很奇怪的是当你的Panel渲染后,在前一瞬间你能看到你所改变的显示方式,但马上不见了

如果改成2。0的版本发现没有问题

更改方法如下:

gridPanel = new Ext.grid.GridPanel({
store: store,
cm: cm,
sm: sm(),
afterRender : function() {
Ext.grid.GridPanel.superclass.afterRender.call(this);
var v = this.view;
this.on('bodyresize', v.layout, v);
if (this.deferRowRender) {
//v.afterRender.defer(10, this.view);
} else {
v.afterRender();
}
this.viewReady = true;
},
stripeRows: true,
frame: true,
viewConfig: {
forceFit: true
}
});

其中始作俑者就是被注释掉的这一行: //v.afterRender.defer(10, this.view);

也就是说我们现在在建GridPanel时只要加一个这样的属性:

afterRender : function() {
Ext.grid.GridPanel.superclass.afterRender.call(this);
var v = this.view;
this.on('bodyresize', v.layout, v);
if (this.deferRowRender) {
//v.afterRender.defer(10, this.view);
} else {
v.afterRender();
}

他就会把原来的ext-all中的gridpanel中的afterRender 方法给重写掉

这样就不会出现那种问题了

转自:http://hi.baidu.com/dream_zl/blog/item/218a2d31cd79ffa45edf0eb2.html

读书人网 >Web前端

热点推荐