在谷歌浏览器中,ExtJS的gridpanel表头总宽度与每行的总宽度不一致的bug

修改之前

          

添加如下代码,重写GridView

//修复办法,谷歌浏览器中,table的单元格实际宽度=指定宽度+padding,所以只要重写gridview里的一个方法,如下:
Ext.override(Ext.grid.GridView,{
        getColumnStyle : function(colIndex, isHeader) {
            var colModel  = this.cm,
                colConfig = colModel.config,
                style     = isHeader ? '' : colConfig[colIndex].css || '',
                align     = colConfig[colIndex].align;
             
            if(Ext.isChrome){
                style += String.format("width: {0};", parseInt(this.getColumnWidth(colIndex))-2+'px');
            }else{
                style += String.format("width: {0};", this.getColumnWidth(colIndex));
            }
             
            if (colModel.isHidden(colIndex)) {
                style += 'display: none; ';
            }
             
            if (align) {
                style += String.format("text-align: {0};", align);
            }
             
            return style;
        }
});

修改之后

             

posted @ 2014-11-26 09:22  Iamabc  阅读(167)  评论(0)    收藏  举报