Sachin,
since you are using BeginUpdate / EndUpdate I suspect setting
ScrollControl.DiscardPaintMessagesAfterBeginUpdate = true;
will fix your problem. It is a static memner of ScrollControl class.
These are the remarks that go with that property:
///
/// When you call BeginUpdate(), the control by default does not handle WM_PAINT messages. Only
/// once you call EndUpdate they will be processed. If this causes problems in your application, you can
/// set this static property to True. In such cases, WM_PAINT messages will be simply discarded and
/// any invalid regions will be validated.
///
///
/// There is a problem with the default implementation of BeginUpdate. If a screen region is marked
/// invalid, the WndProc will be repeatedly called with WM_PAINT at the the top of the WndProc
/// until EndUpdate is called. This can cause your application to freeze if another window gets created
/// or if you make a web service call and WndProc messages need to be processed.
/// Setting DiscardPaintMessagesAfterBeginUpdate to True will help avoid these scenarios.
///
Stefan
>Hi Clay,
>
>I know that the code will work if comment out TableDirty . But I have added it to reduce the time to load the grid as the number of records in the table is around 5000. Also DoEvents is not used in my code. Infact I have seen that if I use the latest version of syncfusion it will work fine.
>
>
>>Try removing the TableDirty line from your code to see if that makes things work.
>>
>>Also, check to see if you have any Application.DoEvents calls in your code that might be hit when you use this suspend code. These will lock things up.