I think I found the problem:
1) NO INPUT FIELD IS ALLOWED IN THE DISPLAY TEMPLATE...otherwise it will be submitted as it were in the edit template...
2) in the display template there is a check-box that is an input field BUT it has the
disabled="disabled", THIS IS OK. When you use input fields for display only purpose they MUST ALWAYS HAVE disabled="disabled" so they ARE NOT SUBMITTED and the readonly
Html attribute so user can't change their values.
3) SO EVERYTHING :...seems ok...BUT....unluckly when one uses the checkbox helper it adds also an hidden field with the false value: <input name="CorporateActionAllocations.$$1.$.Item.Value.IsDRP" type="hidden" value="false" />
.THIS ONE HAS NO disabled attribute...and it is submitted(THIS IS THE CAUSE OF THE PROBLEM) ....also if the row is deleted because display rows are not removed...but just made hidden, while edit colums are removed to
prevent they will submit their value.....Now that input filed...will cause also other problems...not only with deleted rows but also with the other rows ...since thei value of the display row is submitted ALWAYS ....this means you will get wrong values in
the edited columns, since the value from the display row will interfere.
Simple...I run through the code and I have seen that your helper uses the DisplayFor to display the boolean. Just modify the default display template for boolean using custom checkbox...without an associated hidden field...that hidden filed is useful
just when the checkbox is used to ACTUALLY provide a value, not for display only purpose...I don't know if the template you used is the standared Mvc one or if you customized it....but in both cases that display template is WRONG
There is also a better way to display boolean values The _D helper allow to pass an arrow of image urls that it uses to display booleans or enumerations. This is shown in the grid example that comes with the binaries.It contains a boolean filed that is called
"Important" that is displayed this way.
You can use the _D helper to define a smart way to display boolean with two images one for false and the other for true.