private bool ValidateCustomColumns()
        {
            bool isValid = true;

            foreach (var keyValuePair in _customColumnControls.Where(p => p.Key.Mode == BocCustomColumnDefinitionMode.ControlInEditedRow))
            {
                var customColumn       = keyValuePair.Key;
                var customColumnTuples = keyValuePair.Value;
                foreach (var customColumnTuple in customColumnTuples)
                {
                    IBusinessObject businessObject = customColumnTuple.Item1;
                    Control         control        = customColumnTuple.Item3;
                    var             args           = new BocCustomCellValidationArguments(this, businessObject, customColumn, control);
                    customColumn.CustomCell.Validate(args);
                    isValid &= args.IsValid;
                }
            }
            return(isValid);
        }
 /// <summary> Override this method to process the validation of the editable custom cell during edit mode. </summary>
 /// <param name="arguments"> The <see cref="BocCustomCellValidationArguments"/>. </param>
 protected virtual void OnValidate(BocCustomCellValidationArguments arguments)
 {
 }
 internal void Validate(BocCustomCellValidationArguments arguments)
 {
     InitArguments(arguments);
     OnValidate(arguments);
 }