View Full Version : [OPEN-593] horizontal scroll bar disappear if the autoHeight is true in the grid

17 Feb 2010, 1:42 PM

this is a bug in previous versions, and it is not resolved yet in ext 3.x.

there is a thread that once discussed this:


Will there be a scheduled fix for this.


Jamie Avins
17 Feb 2010, 1:59 PM
I'm not sure which of those issues you are referring to. Please post a test case for the specific issue you are running into.

17 Feb 2010, 2:10 PM

I have a grid which has lots of columns in it, so the horizontal scroll bar should be visible.

in the mean time, I want the height of the grid can auto-ajust, so the vertical scroll bar will NOT show up. In order to do so, I set autoHeight:true.

the problem is, if I set autoHeight as true, the horizontal scroll bar will never show up, and some columns will be cut off on the right

There is a good example here:

the autoHeight of the grid in this page is set as true, if you increase the width of the column (drag it to make it wider), you will see that, the horizontal scroll bar will not show up.

hope this makes it clear. thx!


Jamie Avins
17 Feb 2010, 2:19 PM
Going to that site doesn't give me a clean test case for this. I assume you have this issue in a grid somewhere that you can post the code for here.

17 Feb 2010, 2:48 PM
Ok, I just customized the examples provided in extjs website.

as you can see, as long as I set the autoHeight = true, the horizontalScroll bar will not show up, and some columns are cut off on the right.


* Ext JS Library 3.1.1

* Copyright(c) 2006-2010 Ext JS, LLC

* licensing@extjs.com

* http://www.extjs.com/license



// sample static data for the store

var myData = [

['3m Co',71.72,0.02,0.03,'9/1 12:00am'],

['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am'],

['Altria Group Inc',83.81,0.28,0.34,'9/1 12:00am'],

['American Express Company',52.55,0.01,0.02,'9/1 12:00am'],

['American International Group, Inc.',64.13,0.31,0.49,'9/1 12:00am'],

['AT&T Inc.',31.61,-0.48,-1.54,'9/1 12:00am'],

['Boeing Co.',75.43,0.53,0.71,'9/1 12:00am'],

['Caterpillar Inc.',67.27,0.92,1.39,'9/1 12:00am'],

['Citigroup, Inc.',49.37,0.02,0.04,'9/1 12:00am'],

['E.I. du Pont de Nemours and Company',40.48,0.51,1.28,'9/1 12:00am'],

['Exxon Mobil Corp',68.1,-0.43,-0.64,'9/1 12:00am'],

['General Electric Company',34.14,-0.08,-0.23,'9/1 12:00am'],

['General Motors Corporation',30.27,1.09,3.74,'9/1 12:00am'],

['Hewlett-Packard Co.',36.53,-0.03,-0.08,'9/1 12:00am'],

['Honeywell Intl Inc',38.77,0.05,0.13,'9/1 12:00am'],

['Intel Corporation',19.88,0.31,1.58,'9/1 12:00am'],

['International Business Machines',81.41,0.44,0.54,'9/1 12:00am'],

['Johnson & Johnson',64.72,0.06,0.09,'9/1 12:00am'],

['JP Morgan & Chase & Co',45.73,0.07,0.15,'9/1 12:00am'],

['McDonald\'s Corporation',36.76,0.86,2.40,'9/1 12:00am'],

['Merck & Co., Inc.',40.96,0.41,1.01,'9/1 12:00am'],

['Microsoft Corporation',25.84,0.14,0.54,'9/1 12:00am'],

['Pfizer Inc',27.96,0.4,1.45,'9/1 12:00am'],

['The Coca-Cola Company',45.07,0.26,0.58,'9/1 12:00am'],

['The Home Depot, Inc.',34.64,0.35,1.02,'9/1 12:00am'],

['The Procter & Gamble Company',61.91,0.01,0.02,'9/1 12:00am'],

['United Technologies Corporation',63.26,0.55,0.88,'9/1 12:00am'],

['Verizon Communications',35.57,0.39,1.11,'9/1 12:00am'],
['Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am']



* Custom function used for column renderer

* @param {Object} val


function change(val){

if(val > 0){

return '<span style="color:green;">' + val + '</span>';

}else if(val < 0){

return '<span style="color:red;">' + val + '</span>';


return val;



* Custom function used for column renderer

* @param {Object} val


function pctChange(val){

if(val > 0){

return '<span style="color:green;">' + val + '%</span>';

}else if(val < 0){

return '<span style="color:red;">' + val + '%</span>';


return val;


// create the data store

var store = new Ext.data.ArrayStore({

fields: [

{name: 'company'},

{name: 'price', type: 'float'},

{name: 'change', type: 'float'},

{name: 'pctChange', type: 'float'},

{name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}



// manually load local data


// create the Grid

var grid = new Ext.grid.GridPanel({

store: store,

columns: [

{id:'company',header: 'Company', width: 320, sortable: true, dataIndex: 'company'},

{header: 'Price', width: 200, sortable: true, renderer: 'usMoney', dataIndex: 'price'},

{header: 'Change', width: 200, sortable: true, renderer: change, dataIndex: 'change'},

{header: '% Change', width: 200, sortable: true, renderer: pctChange, dataIndex: 'pctChange'},

{header: 'Last Updated', width: 400, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}




title: 'Array Grid'


// render the grid to the specified div in the page



17 Feb 2010, 3:53 PM
This is a fairly old issue: http://www.extjs.com/forum/showthread.php?t=15499&highlight=scroll

The concensus seems to be there's no decent cross browser solution for it.