/// <summary> /// Creates an instance of <see cref="ExcelDataValidation"/> out of the given parameters. /// </summary> /// <param name="type"></param> /// <param name="worksheet"></param> /// <param name="address"></param> /// <param name="itemElementNode"></param> /// <returns></returns> public static ExcelDataValidation Create(ExcelDataValidationType type, ExcelWorksheet worksheet, string address, XmlNode itemElementNode) { Require.Argument(type).IsNotNull("validationType"); switch (type.Type) { case eDataValidationType.TextLength: case eDataValidationType.Whole: return new ExcelDataValidationInt(worksheet, address, type, itemElementNode); case eDataValidationType.Decimal: return new ExcelDataValidationDecimal(worksheet, address, type, itemElementNode); case eDataValidationType.List: return new ExcelDataValidationList(worksheet, address, type, itemElementNode); case eDataValidationType.DateTime: return new ExcelDataValidationDateTime(worksheet, address, type, itemElementNode); case eDataValidationType.Time: return new ExcelDataValidationTime(worksheet, address, type, itemElementNode); case eDataValidationType.Custom: return new ExcelDataValidationCustom(worksheet, address, type, itemElementNode); default: throw new InvalidOperationException("Non supported validationtype: " + type.Type.ToString()); } }
/// <summary> /// Constructor /// </summary> /// <param name="worksheet"></param> /// <param name="address"></param> /// <param name="validationType"></param> /// <param name="itemElementNode"></param> /// <param name="namespaceManager">Namespace manager, for test purposes</param> internal ExcelDataValidationList(ExcelWorksheet worksheet, string address, ExcelDataValidationType validationType, XmlNode itemElementNode, XmlNamespaceManager namespaceManager) : base(worksheet, address, validationType, itemElementNode, namespaceManager) { Formula = new ExcelDataValidationFormulaList(NameSpaceManager, TopNode, _formula1Path); }
/// <summary> /// Constructor /// </summary> /// <param name="worksheet"></param> /// <param name="address"></param> /// <param name="validationType"></param> internal ExcelDataValidationList(ExcelWorksheet worksheet, string address, ExcelDataValidationType validationType) : base(worksheet, address, validationType) { Formula = new ExcelDataValidationFormulaList(NameSpaceManager, TopNode, _formula1Path); }
/// <summary> /// Constructor /// </summary> /// <param name="worksheet"></param> /// <param name="address"></param> /// <param name="validationType"></param> /// <param name="itemElementNode"></param> internal ExcelDataValidationTime(ExcelWorksheet worksheet, string address, ExcelDataValidationType validationType, XmlNode itemElementNode) : base(worksheet, address, validationType, itemElementNode) { Formula = new ExcelDataValidationFormulaTime(NameSpaceManager, TopNode, _formula1Path); Formula2 = new ExcelDataValidationFormulaTime(NameSpaceManager, TopNode, _formula2Path); }
/// <summary> /// Constructor /// </summary> /// <param name="worksheet">Worksheet that owns the validation</param> /// <param name="itemElementNode">Xml top node (dataValidations)</param> /// <param name="validationType">Data validation type</param> /// <param name="address">address for data validation</param> internal ExcelDataValidationWithFormula2(ExcelWorksheet worksheet, string address, ExcelDataValidationType validationType, XmlNode itemElementNode) : base(worksheet, address, validationType, itemElementNode) { }
/// <summary> /// Constructor /// </summary> /// <param name="worksheet">worksheet that owns the validation</param> /// <param name="itemElementNode">Xml top node (dataValidations)</param> /// <param name="validationType">Data validation type</param> /// <param name="address">address for data validation</param> internal ExcelDataValidation(ExcelWorksheet worksheet, string address, ExcelDataValidationType validationType, XmlNode itemElementNode) : this(worksheet, address, validationType, itemElementNode, null) { }