I am using Ext js 4.2.0 for the development. I am facing issue with width of columns in grid. When I hide any column in the grid and before rendering that grid if I unhide that column using column.show() or setVisible(true) method (this can be achieved by tabs). It disturbs the width of all columns. I tried to debug the issue and I found that issue is in the show method. I have taken this code from Ext.grid.column.Column class. If you see the code of show method
when view is not ready for the grid columns and flex is used then width of other columns are zero. So after above calculation for given column, suddenly flex gets increased from 1 to possible viewport width of that grid. and flex for other columns remains same which was given earlier. We do lot of hiding and showing columns in grid based on user selection. What is right solution for this?
myWidth = Math.min(myWidth * (oldLen / len), defaultWidth, Math.max(availFlex - (len * defaultWidth), defaultWidth));
me.width = null;
me.flex = myWidth;
availFlex -= myWidth;