I have a dropdown grid (called gridDBSub) that during the _Resize event, sets the column widths to utilize the full clientwidth.
Works fine, EXCEPT the first time the sub grid is dropped, the ClientRectangle.Width returns the width of the control as it sits on the IDE, but not as it displays.
If, however, I close the dropdown and then re-show, the ClientRectangle.Width correctly returns the width of the control as being displayed.
Specifically: ClientRectangle.Width = 40 the first time its displayed(although its physically showing much wider), and returns 340 from there on out. (Also, gridDBSub.Width = 42 and 342 thereafter).
How can I get the sub-grid to return the actualy width of the control, as it's drawn, the first time the _Resize method is called?
I tried calling _Resize manually in the VisibleChanged event, but that had no effect. I've also tried .Refresh, again, no effect.
ADAdministrator Syncfusion Team August 16, 2003 02:32 PM
You can set this last column size in the CurrentCellShowingDropDown event. There is a 8 pixel border on each side of the dropdown window that explains the 16 pixel fudge factor in the code below. Also, on the very first drop, the grid has not been initialize fully yet, so the code gets things like row count and column count from the DataSource (which the code assumes is a DataTable). GridA is the embedded grid in the drop window.