当GridPanel表头太长的时候,我们可以设置属性“autoScroll:true”,当有数据的时候就会出现滚动条,当没有数据的时候
,滚动条就没有出现。
解决的办法:
Ext.override(Ext.grid.GridView, {
renderBody : function() {
var markup = this.renderRows();
if (markup == "")
markup = "<div style='width:" + this.getTotalWidth()
+ "'> </div>";
return this.templates.body.apply({
rows : markup
});
}
});
重写renderBody这个方法,在里面加入,当数据为空的时候的处理。
后来发现在分组的gridPanel 下面有问题,在加入以下的代码
Ext.override(Ext.grid.GroupingView, {
updateGroupWidths : function() {
if (!this.enableGrouping || !this.hasRows()) {
return;
}
var tw = Math.max(this.cm.getTotalWidth(),
this.el.dom.offsetWidth - this.scrollOffset)
+ 'px';
var gs = this.getGroups();
for (var i = 0, len = gs.length; i < len; i++) {
if (gs[i] != undefined && gs[i].firstChild != undefined
&& gs[i].firstChild.style != undefined)
gs[i].firstChild.style.width = tw;
}
}
});