View previous topic :: View next topic |
Author |
Message |
thnk2wn
Joined: 22 Apr 2008 Posts: 31
|
Posted: Fri Jul 04, 2008 6:23 pm Post subject: Error Provider Refresh Issue |
|
|
See the below image for an issue we are seeing with the error provider icon hanging around longer than it should.
I suspect this another issue with view / IBindingList / IBindingListView really only fully supported for System.Data.DataView. In looking at the VirtualTree code in Reflector, I do not see the support for these interfaces I would expect in ObjectRowBinding.
See also related post http://www.infralution.com/phpBB2/viewtopic.php?t=1257. For now I would assume I would need to hook into an event somewhere and manually call UpdateRow?
|
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Fri Jul 04, 2008 11:53 pm Post subject: |
|
|
Virtual Tree uses the IDataErrorInfo interface to get the errors (if any) associated with the object. For this to update automatically the data source must raise the IBindingList.ListChanged event to notify consumers that the object has changed. It sounds like your data source is not raising the ListChanged event when the error condition changes. _________________ Infralution Support |
|
Back to top |
|
|
thnk2wn
Joined: 22 Apr 2008 Posts: 31
|
Posted: Fri Jul 11, 2008 2:31 am Post subject: |
|
|
Thanks. I have the entity view raising list changed as below now. However the problem remains with the error provider not immediately going away. It seems the problem is not as bad after raising list_changed; now I only have to focus away from the row and focus back to it for the error provider to clear. Before it took several more steps but it still is not as immediate as it should be.
|
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Fri Jul 11, 2008 5:58 am Post subject: |
|
|
It looks similar to your original issues with binding to this data source - the ListChanged event is being raised on the overally entity collection view (but not on the individual collection of child nodes that includes the changed object).
What is your SyncDataSource_ListChanged handler actually doing when it handles the ListChanged event from the entity collection? If it calls UpdateRowData() then this should probably work - even if the sub-collections don't raise the ListChanged event. _________________ Infralution Support |
|
Back to top |
|
|
|