SpreadJS Documentation
GC.Spread.Sheets.ConditionalFormatting Namespace / Condition type / Condition Constructor
In This Topic
    Condition Constructor
    In This Topic
    Represents a conditional item using the parameter object.
    Syntax
    var instance = new GC.Spread.Sheets.ConditionalFormatting.Condition(conditionType, args);
    function Condition( 
       conditionType : ConditionType,
       args : Object
    ) : Condition;

    Parameters

    conditionType
    args
    Example
    The following examples use conditions.
    var nCondition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.averageCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.AverageConditionType.above});
    nCondition.ranges([new GC.Spread.Sheets.Range(0, 0, 10, 3)]);
    var validator = new GC.Spread.Sheets.DataValidation.DefaultDataValidator(nCondition);
    validator.type(GC.Spread.Sheets.DataValidation.CriteriaType.custom);
    activeSheet.getCell(0, 0, GC.Spread.Sheets.SheetArea.viewport).validator(validator);
    spread.options.highlightInvalidData = true;
    activeSheet.setValue(0, 0, 5);
    activeSheet.setValue(1, 0, 15);
    activeSheet.suspendPaint();
    var rowFilter = new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(-1, 0, -1, 1));
    activeSheet.rowFilter(rowFilter);
    activeSheet.getCell(0, 0).value("A1").backColor("blue");
    activeSheet.getCell(1, 0).value("A2").backColor("yellow");
    activeSheet.getCell(2, 0).value("A3").backColor("red");
    activeSheet.getCell(3, 0).value("A4").backColor("green");
    activeSheet.getCell(4, 0).value("A5").backColor("yellow");
    var nCondition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.colorCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.ColorCompareType.backgroundColor, expected: "yellow"});
    var filter = activeSheet.rowFilter();
    filter.addFilterItem(0, nCondition);
    filter.filter(0);
    activeSheet.resumePaint();
    var nCondition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.dateCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.DateCompareType.before, expected: new Date(2012, 11, 31)});
    var validator = new GC.Spread.Sheets.DataValidation.DefaultDataValidator(nCondition);
    validator.type(GC.Spread.Sheets.DataValidation.CriteriaType.custom);
    activeSheet.getCell(0, 0, GC.Spread.Sheets.SheetArea.viewport).validator(validator);
    spread.options.highlightInvalidData = true;
    activeSheet.setValue(0, 0, new Date(2012, 12, 12));
    var style = new GC.Spread.Sheets.Style();
    style.backColor = "red";
    var rule = new GC.Spread.Sheets.ConditionalFormatting.NormalConditionRule(GC.Spread.Sheets.ConditionalFormatting.RuleType.dateOccurringRule, [new GC.Spread.Sheets.Range(0,0,10,1)], style, null, null, null, null, null, GC.Spread.Sheets.ConditionalFormatting.DateOccurringType.nextWeek);
    activeSheet.conditionalFormats.addRule(rule);
    
    var d = new Date();
    activeSheet.setValue(0, 0, d);
    activeSheet.setValue(1, 0, new Date(d.setDate(d.getDate()+1)));
    activeSheet.setValue(2, 0, new Date(d.setDate(d.getDate()+5)));
    activeSheet.setValue(3, 0,new Date(d.setDate(d.getDate()+6)));
    activeSheet.setValue(4, 0,new Date(d.setDate(d.getDate()+7)));
    activeSheet.setValue(5, 0, new Date(d.setDate(d.getDate()+8)));
    var nCondition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.formulaCondition, {customValueType: GC.Spread.Sheets.ConditionalFormatting.CustomValueType.formula,
        formula: "A1>0"});
    var validator = new GC.Spread.Sheets.DataValidation.DefaultDataValidator(nCondition);
    validator.type(GC.Spread.Sheets.DataValidation.CriteriaType.custom);
    activeSheet.getCell(0, 0, GC.Spread.Sheets.SheetArea.viewport).validator(validator);
    spread.options.highlightInvalidData = true;
    activeSheet.setValue(0, 0, -4);
    var nCondition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.numberCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.ComparisonOperators.greaterThan, expected: 5});
    var validator = new GC.Spread.Sheets.DataValidation.DefaultDataValidator(nCondition);
    validator.type(GC.Spread.Sheets.DataValidation.CriteriaType.custom);
    activeSheet.getCell(0, 0, GC.Spread.Sheets.SheetArea.viewport).validator(validator);
    spread.options.highlightInvalidData = true;
    activeSheet.setValue(0, 0, 5);
    spread.options.highlightInvalidData = true;
    var dv = new GC.Spread.Sheets.DataValidation.createTextLengthValidator(GC.Spread.Sheets.ConditionalFormatting.ComparisonOperators.greaterThan, 5);
    activeSheet.setDataValidator(0, 0, 1, 1, dv, GC.Spread.Sheets.SheetArea.viewport);
    activeSheet.setValue(0, 0, "abcf");
    var nCondition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.textCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.TextCompareType.contains, expected: "test"});
    var validator = new GC.Spread.Sheets.DataValidation.DefaultDataValidator(nCondition);
    validator.type(GC.Spread.Sheets.DataValidation.CriteriaType.custom);
    activeSheet.getCell(0, 0, GC.Spread.Sheets.SheetArea.viewport).validator(validator);
    spread.options.highlightInvalidData = true;
    activeSheet.setValue(0, 0, "testing");
    //Type text in 0,0 that does not contain "test" to see invalid symbol
    var nCondition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.uniqueCondition, {expected: true, ranges: GC.Spread.Sheets.Range(0, 5, 1, 1)});
    var validator = new GC.Spread.Sheets.DataValidation.DefaultDataValidator(nCondition);
    validator.type(GC.Spread.Sheets.DataValidation.CriteriaType.Custom);
    activeSheet.getCell(0, 0, GC.Spread.Sheets.SheetArea.viewport).validator(validator);
    spread.options.highlightInvalidData = true;
    activeSheet.setValue(0, 0, 5);
    activeSheet.suspendPaint();
    for (var row = 0; row < 25; row++) {
        activeSheet.setValue(row, 0, row, GC.Spread.Sheets.SheetArea.viewport);
    }
    var rowFilter = new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(0, 0, 25, 1));
    activeSheet.rowFilter(rowFilter);
    var top10Con = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.top10Condition, {compareType: GC.Spread.Sheets.ConditionalFormatting.Top10ConditionType.top, expected: 10});
    var filter = activeSheet.rowFilter();
    filter.addFilterItem(0, top10Con);
    filter.filter(0);
    activeSheet.resumePaint();
    var condition1 = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.dateCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.DateCompareType.afterEqualsTo, expected: new Date(2012, 11, 31)});
    var condition2 = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.dateCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.DateCompareType.beforeEqualsTo, expected: new Date(2013, 11, 31)});
    var nCondition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.relationCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.LogicalOperators.and, item1: condition1, item2: condition2});
    var validator = new GC.Spread.Sheets.DataValidation.DefaultDataValidator(nCondition);
    validator.type(GC.Spread.Sheets.DataValidation.CriteriaType.custom);
    activeSheet.getCell(0, 0, GC.Spread.Sheets.SheetArea.viewport).validator(validator);
    spread.options.highlightInvalidData = true;
    activeSheet.setValue(0, 0, new Date(2012, 11, 25));
    var nCondition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.cellValueCondition, {compareType: GC.Spread.Sheets.ConditionalFormatting.GeneralComparisonOperators.greaterThan, expected: 4, formula: "$A$1"});
    var validator = new GC.Spread.Sheets.DataValidation.DefaultDataValidator(nCondition);
    validator.type(GC.Spread.Sheets.DataValidation.CriteriaType.custom);
    activeSheet.getCell(0, 0, GC.Spread.Sheets.SheetArea.viewport).validator(validator);
    spread.options.highlightInvalidData = true;
    activeSheet.setValue(0, 0, -1);
    var nCondition = new GC.Spread.Sheets.ConditionalFormatting.Condition(GC.Spread.Sheets.ConditionalFormatting.ConditionType.areaCondition, {expected: 4});
    nCondition.formula("$C$1");
    var validator = new GC.Spread.Sheets.DataValidation.DefaultDataValidator(nCondition);
    validator.type(GC.Spread.Sheets.DataValidation.CriteriaType.custom);
    activeSheet.getCell(1, 2, GC.Spread.Sheets.SheetArea.viewport).validator(validator);
    spread.options.highlightInvalidData = true;
    activeSheet.setValue(0, 2, 3);
    activeSheet.setValue(1, 2, 5);
    
    See Also

    Reference

    Condition type