Chart FX 7 포인트 별 링크걸기
프로그래밍/Chart FX 7 for Java Server 2012. 7. 11. 18:55 |Chart FX 7
포인트별 링크에 특정 값을 대입 시켜 다양한 값의 제어가 가능하다.
아래 소스는 특정 포인트에 키값을 대입해 함수를 호출하여 페이지 전환을 일으킨다.
1. 소스코드
// Servlet : LABEL & VALUE
for ( int i = 0; i < gridList.size(); i++ ) {
// 라벨대입
chart.getAxisX().getLabels().set(i, (gridList.get(i).get("LABEL").toString()));
// 계 대입
double data1 = Double.parseDouble((gridList.get(i).get("SUM").toString()));
chart.getData().set(0, i, data1);
// 포인트별 Link
chart.getPoints().get(i).getLink().setUrl("javascript:fn_callByFunc('%S',
'%N','%v','%l','" + gridList.get(i).get("KEY").toString() + "')");
}
// Javascript : call Function
function fn_callByFunc(series, point, value, label, keyValue) {
.
.
.
document.hiddenFrm.action = "/…/…";
document.hiddenFrm.submit();
}
2. 상세설명
// 전체포인트 LINK
chart.getAllSeries().getLink().setUrl("javascript:fn_callByValue('%S', '%N', '%v', '%l')");
일반적으로 위와 같이 전체시리즈의 포인트에 자바스크립트 함수를 호출하여 사용 가능하다. 하지만 챠트의 포인트를 클릭하여 로직을 구현하여야 할 경우 원하는 row값을 호출 할 수 없기 때문에 아래와 같이 루프문 내에 특정 값을 내재 시킴으로써 각 포인트 마다 자신이 원하는 로직을 구현할 수 있다.
// 포인트별 Link
chart.getPoints().get(i).getLink().setUrl("javascript:fn_callByFunc('%S','%N','%v','%l','" + gridList.get(i).get("KEY").toString() + "')");
감사합니다 :)
