[]
구조 정의 외에도 View는 데이터가 시각적으로 해석되고 동적으로 계산되는 방식을 제어할 수 있습니다.
여기에는 다음이 포함됩니다.
조건부 서식
스파크라인 규칙
View 수준 스타일 규칙
자동 필터 및 정렬 재적용
데이터 길이 확인
조건부 서식은 conditionalFormats 속성을 사용하여 열 구성에 직접 정의할 수 있습니다.
이 규칙은 셀 단위로 계산됩니다.
var formulaRule = {
ruleType: "formulaRule",
formula: "@ > 50",
style: {
backColor: "pink"
}
};
var myView = productTable.addView("myView", [
{ value: "productId", caption: "ID" },
{ value: "unitPrice", caption: "Unit Price", conditionalFormats: [formulaRule] }
]);@는 현재 셀 값을 참조합니다.
수식 결과가 true일 때 스타일이 적용됩니다.
스파크라인 규칙을 사용하면 셀 내에서 데이터를 직접 시각화할 수 있습니다.
이 역시 conditionalFormats를 통해 정의합니다.
Bullet 스파크라인 예제
var bulletRule = {
ruleType: "sparklineRule",
sparklineType: "BULLETSPARKLINE",
sparklineOptions: {
measure: '@',
target: 500,
maxi: 1000,
good: 700,
bad: 250
},
showSparklineOnly: true
};
var myView = salesTable.addView("salesView", [
{ value: "region", caption: "Region", width: 130 },
{ value: "target", caption: "Target ($K)", width: 100 },
{ value: "actual", caption: "Actual ($K)", width: 100 },
{ value: "actual1", caption: "Performance", width: 220, conditionalFormats: [bulletRule] }
]);Lollipop Variance 예제
var lollipopRule = {
ruleType: "sparklineRule",
sparklineType: "LOLLIPOPVARISPARKLINE",
sparklineOptions: {
plannedValue: '[target]',
actualValue: '$CF_RANGE$',
index: '@',
reference: 0,
mini: -0.3,
maxi: 0.3
},
showSparklineOnly: true
};
var myView = salesTable.addView("salesView", [
{ value: "region", caption: "Region", width: 130 },
{ value: "target", caption: "Target ($K)", width: 100 },
{ value: "actual", caption: "Actual ($K)", width: 100 },
{ value: "actual2", caption: "Variance", width: 220, conditionalFormats: [lollipopRule] }
]);스파크라인 규칙은 기본 데이터를 수정하지 않고도 인라인 데이터 시각화를 제공합니다.
열 수준 조건부 서식 외에도 View 수준에서 스타일 규칙을 정의할 수 있습니다.
이 규칙은 다음과 같은 유형이 될 수 있습니다.
수식 기반
상태 기반
view.addStyleRule(
"dirtyRowStyle",
{ backColor: "yellow" },
{
direction: GC.Data.StateRuleDirection.row,
state: GC.Data.RowColumnStates.dirty
}
);view.getStyleRule(); // 모든 규칙 가져오기
view.getStyleRule("ruleName"); // 특정 규칙 가져오기
view.removeStyleRule("ruleName"); // 규칙 제거
view.clearStyleRules(); // 모든 규칙 제거View 수준 규칙은 특정 열이 아닌 전체 View에 적용됩니다.
View는 다음 두 속성을 제공합니다.
view.autoFilter
view.autoSort이 속성은 기본 데이터가 변경될 때 기존 필터 또는 정렬 정의를 자동으로 다시 적용할지 여부를 제어합니다.
true(기본값)인 경우 데이터 업데이트 후 필터링 및 정렬이 다시 계산됩니다.
false인 경우 수동으로 실행하기 전까지 기존 상태가 유지됩니다.
이 속성은 런타임 동작에만 영향을 줍니다.
View는 데이터 크기를 확인하기 위한 두 가지 메서드를 제공합니다.
view.length();
view.visibleLength();length()는 호스트 테이블의 전체 데이터 개수를 반환합니다.
visibleLength()는 View에서 현재 표시되는 데이터 개수를 반환합니다.
표시 데이터 개수는 필터링 또는 View 상태에 따라 전체 데이터 개수와 다를 수 있습니다.