Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
230
Threading issue with a call to Refresh method (Ultragrid)
posted

Sorry for the duplicate post I did not know there was a forum specifically for the Ultragrid.

I seem to be running into some type of threading issue, it might be a race condition or something similiar. I have an Ultragrid with a bunch of rows. I filter the rows using one of the columns and then I perform some action. I then call the Ultragrid.Rows.Refresh(RefreshRow.ReloadData) method and my GUI becomes unresponsive. So my question is, is there someway to determine when the call to Ultragrid.Rows.Refresh is complete? This method does not have a return value so I was wondering if there was some other way to determine when the Refresh is complete. Also I was wondering if the Refresh is performed on the main HMI thread.

I am running Windows 7 and have Infragistics 10 installed on my machine.

Parents
No Data
Reply
  • 469350
    Offline posted

    Hi,

    The grid doesn't use any other threads internally, it's always on the UI thread. Is your application using other threads? Threads can be extremely tricky when DataBinding is concerned and neither the grid, nor the BindingManager in DotNet are thread safe.

    The Refresh method may just be dirtying a flag and then the actual refresh operation occurs on the next paint message. The grid does a lot of things asynchronously like that. But if you called Rows.Refresh followed immediately by grid.Update, that should be nearly the same as a synchronous operation.

    If your application is not creating threads, then I doubt this is a threading issue.

    What version of the grid are you using?

    Are you able to reproduce the lockup reliably? If so, can you post a small sample application demonstrating it so we can take a look?

Children