렌더러 동적 적용
그리드의 addCellRenderers() 함수로 데이터셀 렌더러 정보들을 미리 추가하고, 컬럼 동적 스타일의 renderer 값을 이용하면, 같은 컬럼에서 값에 따라 다른 렌더러를 사용하여 셀을 표시할 수 있습니다.
오른쪽 예제에 버튼을 클릭해서 동적 렌더러를 실행해 보세요.
addCellRenderers함수로 렌더러 정보들을 미리 추가합니다.
컬럼 동적 스타일에 추가한 renderer 값을 이용하면, 같은 컬럼에서 값에 따라 다른 렌더러의 id
를 사용하여 셀을 표시할 수 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
gridView.addCellRenderers([{
"id": "bar01",
"type": "bar"
}, {
"id": "bar02",
"type": "bar",
"maximum": 100,
"showLabel": false
}, {
"id": "check01",
"type": "check",
"editable": true,
"startEditOnClick": true,
"trueValues": "True",
"falseValues": "False",
"labelPosition": "right"
}, {
"id": "shape01",
"type": "shape"
}, {
"id": "signal01",
"type": "signal",
"barCount": 10,
"minimum": 0,
"maximum": 100
}, {
"id": "signal02",
"type": "signal",
"barCount": 20,
"minimum": 0,
"maximum": 100
}]);
addCellRenderers
함수로 추가한 renderer의 id
값을 renderer에 설정해서 컬럼에 여러가지 렌더러를 동적으로 사용할 수 있습니다.
UnitPrice2
, Quantity2
컬럼에 적용된 signal
, bar
, shape
렌더러를 확인해 보세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
gridView.setColumnProperty("UnitPrice2", "dynamicStyles", [{
"criteria": "value >= 0",
"styles": {
"renderer": "signal01",
"figureBackground": "#ffffff7f",
"figureState": "value"
}
}, {
"criteria": "value >= 30",
"styles": {
"renderer": "signal02",
"figureBackground": "#ffd4ff55",
"figureState": "value"
}
}, {
"criteria": "value >= 60",
"styles": {
"renderer": "bar01",
"figureBackground": "#ffd4ff55",
"figureSize": "30%",
"figureState": "value"
}
}, {
"criteria": "value >= 90",
"styles": {
"renderer": "shape01",
"figureName": "ellipse",
"figureBackground": "#ffff0000",
"figureSize": 12
}
}]);
체크박스에 체크된 행
에 shape renderer를 적용 합니다.
UnitPrice1
, Quantity1
컬럼에 체크 시 적용되는 shape
렌더러를 확인해 보세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
gridView.setColumnProperty("UnitPrice1", "dynamicStyles", [{
"criteria": "checked", //체크 시 styles 적용
"styles": {
"renderer": "shape01"
}
}, {
"criteria": "(value < 20) and (checked)",
"styles": "figureBackground=#ff0000ff;foreground=#ff0000ff;figureName=itriangle"
}, {
"criteria": "(value < 10) and (checked)",
"styles": "figureBackground=#ff0000ff;foreground=#ff0000ff;figureName=downarrow"
}, {
"criteria": "(value >= 20) and (checked)",
"styles": "figureBackground=#ffff0000;foreground=#ffff0000;figureName=triangle"
}, {
"criteria": "(value > 80) and (checked)",
"styles": "figureBackground=#ffff0000;foreground=#ffff0000;figureName=uparrow"
}]);