Bug Report CB65557
Visible to All Users
Duplicate

We have closed this ticket because another page addresses its subject:

Support methods for block data notifications

BeginUpdate doesn't work as expected

created 18 years ago

BeginUpdate doesn't work at all when datasource items get changed. Even though BeginUpdate is called the grid takes awfully lot of time to process changes.
Steps to Reproduce:
I have a situation like this. List<MyObject> is a DataSource. Each change to MyObject property raises OnPropertyChanged event.
Now, even if I call BeginUpdate and then change some 100 properties of an object the grid is slooooow. Slow measured in seconds, like dog slow.
So I went profiling the code and here is the culprit:
IDataControllerValidationSupport.OnControllerItemChanged gets fired each time a property is modified and consumes awful lot of time.
If I omit my internal call to OnPropertyChanged the grid becomes lightning fast.
Actual Results:
Dog slow.
Expected Results:
Fast as a bullet.

Comments (3)
DevExpress Support Team 18 years ago

    Hello Miha,
    The BeginUpdate method doesn't block data notifications. We will add BeginDataUpdate / EndDataUpdate methods similar to the XtraGrid. Thank you for drawing our attention to this issue.
    Thank you,
    Nick

    M M
    Miha Markic - DevExpress MVP 18 years ago
      DevExpress Support Team 18 years ago

        Miha,
        Thanks for your article. Your solution is good. I'd also call the OnDataManager_ListChanged method with the ListChangedType.Reset parameter from EndUpdate in the inherited class.
        Thank you,
        Nick

        Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

        Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.