We have a grid where the bands are set up with AllowColSizing = AllowColSizing.Syncroized but when I perform auto resize on the column it only resizes to fit information contained in the top most band that is associated with that column header. Is there a way to have it include all syncronized bands to that column header?
Hi Derek,
There's no PerformAutoSize method that will do this. But what you could do is use CalculateAutoSize on the column(s) instead. Basically, you would loop through each band and call CalculateAutoSize on each column in the same position and then use the biggest width you got back.
Thanks for the reply Mike. Is there an event I can handle when the user double clicks on the sizing portion of a column to achieve this?
Hello Derek,
You could use the 'AfterColPosChanged' event. Please let me know if it does not suit your needs.
Thanks for replying Boris.
I would think that if the bands are set to synchronize then the grid would automatically do this behavior with PerformAutoResizeColumns() but if you do not want to change the behavior for existing grids then I would need a parameter on the PerformAutoResizeColumns() method to include synchronized child bands. Implementing this myself does not seem like a viable solution because there is no good event on which I could perform this behavior without affecting manual re-sizing f the columns by the user.
Thanks again,
Derek
If you want this kind of behaviour from the grid control you could implement some calculations yourself. If you want some specific property to have in the grid or method for that matter, please let me know what you think it should be.
There is no easy solution for this. I would expect the grid to behave this way if the band is set to synchronize the column sizing. Is there any other way of achieving this?
I am checking about the progress of this issue. Please let me know If you need any further assistance on this.