/// <summary> /// /// </summary> /// <returns></returns> internal override ReturnResultBase Execute() { if (Field.IsVirtual) { return(new ReturnResult()); } // check the conditions which will allow the update if (Field.IsLinkField) { LinkView linkView = TaskViews.LinkViews[Field.getDataviewHeaderId()]; IRecord record = DataviewSynchronizer.GetCurrentRecord(); if ((linkView.DataviewHeader.Mode == LnkMode.Write && linkView.GetPosition(record) == null) || linkView.DataviewHeader.Mode == LnkMode.Create) { return(new ReturnResult()); } } // update not allowed - return the error return(new ReturnResult(MsgInterface.RT_STR_NON_MODIFIABLE)); }