CancelEdit problem - New Child not removed

CancelEdit problem - New Child not removed

Old forum URL: forums.lhotka.net/forums/t/9720.aspx


Phlar posted on Friday, November 05, 2010

Hi All,

I've seen a few posts (i.e. http://forums.lhotka.net/forums/p/6514/31450.aspx#31450) in which issuing the CancelEdit on the root object does not remove newly created child objects.   I have just encountered this situation and wondered if there was a solution.

CSLA version:  4.0.30319

In our scenario we have a root object (BO), containing a list of child objects (BLB and BO).

Our BLB contains an overridden AddNewCore() method:

Child _child = new Child();

this.Add(_child);

We also use the RebindUI pattern as follows:

 this.rootBindingSource.RaiseListChangedEvents = false;

this.childItemsBindingSource.RaiseListChangedEvents = false;

UnbindBindingSource(this.childItemsBindingSource, saveObject, false);

UnbindBindingSource(this.rootBindingSource, saveObject, true);

this.childItemsBindingSource.DataSource = this.rootBindingSource;

_root.CancelEdit();

if (rebind)

BindUI();

 this.rootBindingSource.RaiseListChangedEvents = true ;

 this.childItemsBindingSource.RaiseListChangedEvents = true ;

 if (rebind)

{

      this.rootBindingSource.ResetBindings(false);

       this.childItemsBindingSource.ResetBindings(false);

}

I can't see how/why the child is not removed.  Any suggestions?

Phlar replied on Friday, November 05, 2010

Found the problem (thanks to EL and the logging we have in place).  The issue was in relation to adding the new object.  The method removed the bindings when adding the new element.  Once I removed this line, any additions to the grid were removed when the CancelEdit was called.

Kalpesh Shah replied on Wednesday, January 11, 2012

I am also facing the same problem.

Can u explain how & what exactly you have done to overcome this problem.

Thanks in Advance!

Copyright (c) Marimer LLC