[]
Sheets.ConditionalFormatting.StateRule
↳ StateRule
• new StateRule(ruleType
, state
, style?
, ranges?
)
Represents a state rule.
example
// add a row state rule with red back color in whole sheet
var style = new GC.Spread.Sheets.Style();
style.backColor = "red";
var stateRule = new GC.Spread.Sheets.ConditionalFormatting.StateRule(GC.Spread.Sheets.ConditionalFormatting.RuleType.rowStateRule, style, [new GC.Spread.Sheets.Range(-1, -1, -1, -1)]);
activeSheet.conditionalFormats.addRule(cell);
// add a row state rule with two styles to different corresponding ranges
var stateRule = new GC.Spread.Sheets.ConditionalFormatting.StateRule(
GC.Spread.Sheets.ConditionalFormatting.RuleType.rowStateRule,
[new GC.Spread.Sheets.Style("green"), new GC.Spread.Sheets.Style("red")],
[new GC.Spread.Sheets.Range(1, 1, 10, 5), new GC.Spread.Sheets.Range(1, 7, 10, 5)]
);
Name | Type | Description |
---|---|---|
ruleType |
RuleType |
The state rule type, it would be GC.Spread.Sheets.ConditionalFormatting.RuleType.rowStateRule or GC.Spread.Sheets.ConditionalFormatting.RuleType.columnStateRule. |
state |
RowColumnStates |
The state. |
style? |
Style | Style [] |
The style that is applied to the cell when the state is met. It could an array of styles. |
ranges? |
Range [] |
The cell ranges where the rule is applied whose item type is GC.Spread.Sheets.Range. |
▸ condition(value?
): any
Gets or sets the base condition of the rule.
Name | Type | Description |
---|---|---|
value? |
Condition |
The base condition of the rule. |
any
If no value is set, returns the base condition of the rule; otherwise, returns the condition rule.
▸ contains(row
, column
): boolean
Determines whether the range of cells contains the cell at the specified row and column.
Name | Type | Description |
---|---|---|
row |
number |
The row index. |
column |
number |
The column index. |
boolean
true
if the range of cells contains the cell at the specified row and column; otherwise, false
.
▸ createCondition(): Condition
Creates condition for the rule.
The condition.
ConditionRuleBase.createCondition
▸ evaluate(evaluator
, baseRow
, baseColumn
, actual
): Style
Returns the cell style of the rule if the cell satisfies the condition.
Name | Type | Description |
---|---|---|
evaluator |
Object |
The object that can evaluate a condition. |
baseRow |
number |
The row index. |
baseColumn |
number |
The column index. |
actual |
Object |
The actual value. |
The cell style of the rule.
▸ getExpected(): Style
Gets the style of the base rule.
example
//This example uses the getExpected method.
activeSheet.suspendPaint();
var style = new GC.Spread.Sheets.Style();
style.backColor = "green";
var ranges = [new GC.Spread.Sheets.Range(0, 0, 10, 1)];
activeSheet.conditionalFormats.addUniqueRule(style, ranges);
var data = [50, 50, 11, 5, 3, 6, 7, 8, 7, 11];
var condition = activeSheet.conditionalFormats.getRules()[0];
for (var i = 0; i < 10;i++){
activeSheet.setValue(i, 0, data[i]);
}
activeSheet.resumePaint();
console.log(condition.getExpected());
▸ intersects(row
, column
, rowCount
, columnCount
): boolean
Specifies whether the range for this rule intersects another range.
example
//This example uses the intersects method.
activeSheet.suspendPaint();
var style = new GC.Spread.Sheets.Style();
style.backColor = "green";
var ranges = [new GC.Spread.Sheets.Range(0, 0, 10, 1)];
activeSheet.conditionalFormats.addUniqueRule(style, ranges);
var data = [50, 50, 11, 5, 3, 6, 7, 8, 7, 11];
var condition = activeSheet.conditionalFormats.getRules()[0];
for (var i = 0; i < 10; i++) {
activeSheet.setValue(i, 0, data[i]);
}
activeSheet.resumePaint();
activeSheet.bind(GC.Spread.Sheets.Events.SelectionChanged, function(e, info) {
var selection = info.newSelections[0];
var result = condition.intersects(selection.row, selection.col, selection.rowCount, selection.colCount);
if (result) {
alert("current selection is intersects with condition formatting range");
} else {
alert("current selection is not intersects with condition formatting range");
}
});
Name | Type | Description |
---|---|---|
row |
number |
The row index. |
column |
number |
The column index. |
rowCount |
number |
The number of rows. |
columnCount |
number |
The number of columns. |
boolean
true
if the range for this rule intersects another range; otherwise, false
.
▸ isRow(): boolean
Get whether this state rule will applied to row direction.
boolean
Whether this state rule will be applied to row direction, otherwise, it will be applied to column direction.
▸ isScaleRule(): boolean
Specifies whether this rule is a scale rule.
boolean
true
if this rule is a scale rule; otherwise, false
.
▸ priority(value?
): any
Gets or sets the priority of the rule.
Name | Type | Description |
---|---|---|
value? |
number |
The priority of the rule. |
any
If no value is set, returns the priority of the rule; otherwise, returns the condition rule.
▸ ranges(value?
): any
Gets or sets the condition rule ranges.
example
var style = new GC.Spread.Sheets.Style();
style.backColor = "green";
var ranges = [new GC.Spread.Sheets.Range(0, 0, 10, 1)];
activeSheet.conditionalFormats.addUniqueRule(style, ranges);
activeSheet.setValue(0, 0, 50);
activeSheet.setValue(1, 0, 50);
activeSheet.setValue(2, 0, 11);
activeSheet.setValue(3, 0, 5);
Name | Type | Description |
---|---|---|
value? |
Range [] |
The condition rule ranges. |
any
If no value is set, returns the condition rule ranges; otherwise, returns the condition rule.
▸ reset(): void
Resets the rule.
example
activeSheet.setArray(0, 0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var style = new GC.Spread.Sheets.Style();
style.backColor = "red";
style.foreColor = "black";
var cell = new GC.Spread.Sheets.ConditionalFormatting.NormalConditionRule();
cell.ruleType(GC.Spread.Sheets.ConditionalFormatting.RuleType.cellValueRule);
cell.operator(GC.Spread.Sheets.ConditionalFormatting.ComparisonOperators.greaterThan);
cell.value1(2);
cell.ranges([new GC.Spread.Sheets.Range(0, 0, 10, 1)]);
cell.style(style);
activeSheet.conditionalFormats.addRule(cell);
var style = new GC.Spread.Sheets.Style();
style.cellButtons = [{
caption: "Reset",
useButtonStyle: true,
width: 60,
command: function(sheet) {
cell.reset();
sheet.resumePaint();
}
}];
activeSheet.setStyle(16, 4, style);
void
▸ ruleType(value?
): any
Gets or sets the condition rule type.
example
//This example uses the ruleType method.
activeSheet.setArray(0,0,[1,2,3,4,5,6,7,8,9,10]);
var style = new GC.Spread.Sheets.Style();
style.backColor = "red";
style.foreColor = "black";
var cell = new GC.Spread.Sheets.ConditionalFormatting.NormalConditionRule();
cell.ruleType(GC.Spread.Sheets.ConditionalFormatting.RuleType.cellValueRule);
cell.operator(GC.Spread.Sheets.ConditionalFormatting.ComparisonOperators.greaterThan);
cell.value1(5);
cell.ranges([new GC.Spread.Sheets.Range(0, 0, 10, 1)]);
cell.style(style);
activeSheet.conditionalFormats.addRule(cell);
var style1 = new GC.Spread.Sheets.Style();
style1.foreColor = "red";
var top = new GC.Spread.Sheets.ConditionalFormatting.NormalConditionRule();
top.ruleType(GC.Spread.Sheets.ConditionalFormatting.RuleType.top10Rule);
top.type(GC.Spread.Sheets.ConditionalFormatting.Top10ConditionType.top);
top.rank(3);
top.style(style1);
top.ranges([new GC.Spread.Sheets.Range(0, 0, 10, 1)]);
top.stopIfTrue(true);
activeSheet.conditionalFormats.addRule(top);
Name | Type | Description |
---|---|---|
value? |
RuleType |
The condition rule type. |
any
If no value is set, returns the condition rule type; otherwise, returns the condition rule.
▸ state(value?
): RowColumnStates
Gets or sets the rule state.
Name | Type | Description |
---|---|---|
value? |
RowColumnStates |
The state. |
The rule state.
▸ stopIfTrue(value?
): any
Gets or sets whether rules with lower priority are applied before this rule.
example
//This example applies multiple rules.
activeSheet.setArray(0,0,[1,2,3,4,5,6,7,8,9,10]);
var style = new GC.Spread.Sheets.Style();
style.backColor = "red";
style.foreColor = "black";
var cell = new GC.Spread.Sheets.ConditionalFormatting.NormalConditionRule();
cell.ruleType(GC.Spread.Sheets.ConditionalFormatting.RuleType.cellValueRule);
cell.operator(GC.Spread.Sheets.ConditionalFormatting.ComparisonOperators.greaterThan);
cell.value1(5);
cell.ranges([new GC.Spread.Sheets.Range(0, 0, 10, 1)]);
cell.style(style);
activeSheet.conditionalFormats.addRule(cell);
var style1 = new GC.Spread.Sheets.Style();
style1.foreColor = "red";
var top = new GC.Spread.Sheets.ConditionalFormatting.NormalConditionRule();
top.ruleType(GC.Spread.Sheets.ConditionalFormatting.RuleType.top10Rule);
top.type(GC.Spread.Sheets.ConditionalFormatting.Top10ConditionType.top);
top.rank(3);
top.style(style1);
top.ranges([new GC.Spread.Sheets.Range(0, 0, 10, 1)]);
top.stopIfTrue(true);
activeSheet.conditionalFormats.addRule(top);
Name | Type | Description |
---|---|---|
value? |
boolean |
Whether rules with lower priority are applied before this rule. |
any
If no value is set, returns whether the rules with lower priority are not applied before this rule; otherwise, returns the condition rule.
▸ style(value?
): any
Gets or sets the style for the rule.
example
//This example applies multiple rules.
activeSheet.setArray(0,0,[1,2,3,4,5,6,7,8,9,10]);
var style = new GC.Spread.Sheets.Style();
style.backColor = "red";
style.foreColor = "black";
var cell = new GC.Spread.Sheets.ConditionalFormatting.NormalConditionRule();
cell.ruleType(GC.Spread.Sheets.ConditionalFormatting.RuleType.cellValueRule);
cell.operator(GC.Spread.Sheets.ConditionalFormatting.ComparisonOperators.greaterThan);
cell.value1(5);
cell.ranges([new GC.Spread.Sheets.Range(0, 0, 10, 1)]);
cell.style(style);
activeSheet.conditionalFormats.addRule(cell);
var style1 = new GC.Spread.Sheets.Style();
style1.foreColor = "red";
var top = new GC.Spread.Sheets.ConditionalFormatting.NormalConditionRule();
top.ruleType(GC.Spread.Sheets.ConditionalFormatting.RuleType.top10Rule);
top.type(GC.Spread.Sheets.ConditionalFormatting.Top10ConditionType.top);
top.rank(3);
top.style(style1);
top.ranges([new GC.Spread.Sheets.Range(0, 0, 10, 1)]);
top.stopIfTrue(true);
activeSheet.conditionalFormats.addRule(top);
Name | Type | Description |
---|---|---|
value? |
Style |
The style for the rule. |
any
If no value is set, returns the style for the rule; otherwise, returns the condition rule.