아이콘 렌더러
Icon 셀 렌더러는 컬럼에 지정된 ImageList의 이미지들 중 스타일 값 iconIndex 위치의 이미지를 텍스트와 함께 표시합니다.
pivot, grid, 피벗, 필터, filter
pivot, export
pivot, style, callback, styleCallback
pivot, value, getCellValue
pivot, pivotFields, getPivotFields
그리드뷰(GridView) 또는 트리뷰(TreeView)에서 이미지를 사용하려면 먼저, ImageList객체를 이용해 이미지파일의 경로를 목록으로 만들어야 합니다.
1
2
3
4
5
6
7
8
9
10
var imgs = new RealGridJS.ImageList("images1", "/resource/image/icon/");
imgs.addUrls([
"be.png",
"br.png",
"fr.png",
"de.png",
"us.png"
]);
gridView.registerImageList(imgs);
위 코드는 실제로 왼쪽 데모 화면에서 그리드뷰(GridView)에 아이콘을 적용하기 위해 이미지 목록을 만들고 트리에 등록하는 코드입니다.
이미지 목록을 트리에 등록하고 사용하려면
함수를 사용하면 됩니다.
아이콘을 표시할 때 사용되는 스타일 속성들입니다.
IconLocation을 사용해서 아이콘의 위치를 변경 할 수 있습니다.
(기본 값은 “left”입니다.)
iconIndex - ImageList에서 표시될 아이콘의 인덱스.iconLocation - 아이콘을 표시할 위치. (“left”, “right”, “top”, “bottom” )iconAlignment - 아이콘 정렬 상태. (“near”, “far”, “center”)iconOffset - 위치별 시작점과 아이콘 사이의 간격.iconPadding - 아이콘과 텍스트 사이의 간격.그리드뷰(GridView)에는 각 컬럼에 아이콘을 표시할 수 있습니다.
LEFT 컬럼에 이미지 리스트의 iconIndex가 0인 아이콘을 동일하게 표시합니다.
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
//아이콘 리스트 및 이름 생성
var imgs = new RealGridJS.ImageList("images1", "/resource/image/icon/");
imgs.addUrls([
"be.png",
"br.png",
"fr.png",
"de.png",
"us.png"
]);
gridView.registerImageList(imgs);
//이미지 리스트에서 사용할 이름 설정
gridView.setColumnProperty("left","imageList", "images1");
//아이콘 타입의 렌더러 설정
gridView.setColumnProperty("left","renderer",{type:"icon"});
//아이콘 적용 설정
gridView.setColumnProperty("left","styles", {
textAlignment: "near",
iconIndex: 0,
iconLocation: "left",
iconAlignment: "center",
iconOffset: 4,
iconPadding: 4
});
dynamicStyles를 사용해서 동적으로 값에 따른 아이콘 표시를 할 수 있습니다.
아이콘 표시하는 방법 까지는 설정이 동일하며 추가로 dynamicStyles가 적용됩니다.
RIGHT컬럼에 동적으로 값에 따라 아이콘이 변경되는 동적 아이콘을 표시합니다.
(iconIndex값이 -1 이면 아이콘을 표시하지 않습니다.)
각 컬럼에 아이콘 렌더러 적용 후 동적 아이콘 변경을 확인하기 위해 컬럼의 값을 변경해 보세요.
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
//아이콘 표시방법 동일
//dynamicStyles 생성
var iconStyles = [{
criteria: "value='Belgium'",
styles: "iconIndex=0"
}, {
criteria: "value='Brazil'",
styles: "iconIndex=1"
}, {
criteria: "value='France'",
styles: "iconIndex=2"
}, {
criteria: "value='Germany'",
styles: "iconIndex=3"
}, {
criteria: "value='USA'",
styles: "iconIndex=4"
}, {
criteria: "values['Country'] is empty",
styles: "iconIndex=-1"
}];
//dynamicStyle 적용
gridView.setColumnProperty("right","dynamicStyles", iconStyles);
아이콘 렌더러 적용 시 텍스트는 감추고 아이콘만 표시하는 방법은 renderer의 textVisible속성을 false로 설정하면 됩니다.
1
2
3
4
renderer: {
type: "icon",
textVisible: false //텍스트 표시 여부
}