Hi,
I have a data grid that binds to a dataset. When user double click on it row, it opens a modal window which has textbox fields which allow user to update data. The textbox (custom control) and the data grid are data binded to the same DataSet and therefore both would update the same time.
I want to update the gird only if the user close the window. So I used the ultraGrid.BeginUpdate() and EndUpdate() to prevent it from refreshing.
This works fine on my Windows 64 bit machine. However when the QA test this on Win 7 32 bit, the BeignUpdate() stopped the grid(s) from redrawing itself. Here is the screenshot of what happen:
Thanks
I'm afraid you lost me.
BeginUpdate stops the grid from painting itself. That's what it is supposed to do.
So if the problem is that the grid is not painting itself, then that's not a problem - that is the correct behavior.
If the grid is painting itself when BeginUpdate is called, then that might be a problem. But my guess is that it has nothing to do with 32-bit or 64-bit. It's probably related to different painting behavior in different operating systems with options like glass and theming. There are some cases where Windows will send Paint notifications to a window under different circumstances depending on what kinds of options you are using for your system theme.
But it sounds to me like you are simply misunderstanding what BeginUpdate does.
Thanks for the information. I basically misused the BeginUpdate() to achieve a behavior that only works on my machine, can't guarantee it will work with other OS or configuration.
Since there is no other way to defer binding notification, and I cannot use BeginUpdate() to mask the underlining update is there a way for the ultraGrid to NOT respond to the dataset? And follow by a refresh once the data source are updated?
I also don't prefer to unbind and rebind the dataset and the grid.
Since I am not familiar with the concurrency manager, or the binding manager, any guideline or suggestions on how to archive the same behaviors would help.