Hi - I'm hoping there's a final event that fires to signal that initialization of the grid is complete after setting the datasource... I'm interesting in capturing changes in the column widths, but only after the grid has finished initializing and is available to the user. Thanks!
> Hi - I'm hoping there's a final event that fires to signal that initialization of the grid is complete after setting the datasource... I'm interesting in capturing changes in the column widths, but only after the grid has finished initializing and is available to the user. Thanks!
P.S. It seem that more events continue to fire after the grid becomes visible - I'd like to know when these events are finished, too.
ADAdministrator Syncfusion Team February 6, 2003 02:55 PM
The VisibleChanged event will be fired once the grid has been made visible. Is that good?
Can't think of other events right now. If you have source code version you might just enable Tracing with a .config file. The GridPad sample has a .config file with some TraceSwitches that you can turn on for tracing. More TraceSwitches can be found in switches.cs
IPIvan PellyFebruary 6, 2003 03:06 PM
I don't have the sourcecode version :(
There seem to be more events that fire after VisibleChanged. My problem is that Model_ColWidthsChanged fires a lot, even after VisibleChanged. So there's no "I'm done initializing and just sitting here waiting for the user to interact with me" event?
IPIvan PellyFebruary 6, 2003 03:08 PM
Part II - I really need a place where I can programmatically set the widths of the columns AFTER the grid has finished all its internal convulsions and column-width setting. Thanks again.
ADAdministrator Syncfusion Team February 6, 2003 03:31 PM
The grid does not know what is being called from the Parent Forms code after the data source was set. Also, the grid does not know in which order proerties are beeing set.
What we do in the grid is we implemented the ISupportInitialize interface. That way the Windows Forms designers will add BeginInit and EndInit call inside the InitializeComponent method and we can do some initialization when the grids EndInit method is called. You could derive your own grid and implement ISupportInitialize.
However, since you have full control of the parent form you could just fire a method call to the grid after the Forms InitializeComponent method returns or at the end of the Forms OnLoad method.
IPIvan PellyFebruary 7, 2003 03:00 PM
It looks like ColWidthsChanged continues to fire (at least one more time) after the Form's OnLoad finishes. Would you have any more suggestions? Thanks again.
ADAdministrator Syncfusion Team February 7, 2003 06:27 PM
Here's something I think will work, though it is not very elegant.
Hook the grid_Paint event in Form_Load. Then in the Paint event, do two things. First, unhook the grid_Paint event so this code in the event handler is only executed once. Second, hook the ColWidthsChanged event so you will receive notification of widths changing after the first time the grid is painted.
IPIvan PellyFebruary 11, 2003 07:49 AM
Thanks for the suggestion. I'm not sure though what you mean by "hook". Could you give a quick example? Thanks!
ADAdministrator Syncfusion Team February 11, 2003 08:57 AM
I think Clay just meant to setup a event handler, e.g.
grid.Paint += new PaintEventHandler(gridPaint);