2013-10-18 3 views
0

숫자를 반환하는 xmldatasource가 있습니다. 음수이거나 0보다 작 으면 녹색으로, 그리고 양수이면 녹색으로 글꼴 색을 변경해야합니다. 아래의 해결책은 예상대로 작동하지 않습니다. 나는 그것을 Onrender에 넣었고 데이터 셀 자체를 준비했습니다. (데이터 셀 클릭 후 스크립트 탭 클릭). 그것이 항상 다른 사람을 실행하는 IF 경기장에 가지 않는 것 같습니다. 나는 문자열 형식일지도 모른다고 생각했지만 여전히 문자열로 변경하면 여전히 작동하지 않습니다. birt 스크립팅에서 글꼴 색상을 변경하는 방법

if(this.getValue() < 0) 
    this.getStyle().color = "#F0000" 
else this.getStyle().color = "#008040" 

은 또한 그것은 항상 다른 따라서 항상 녹색 실행

if(this.value < 0) 
    this.getStyle().color = "#F0000" 
else this.getStyle().color = "#008040" 

또는

if(this.value == "-1") 
    this.getStyle().color = "#F0000" 
else this.getStyle().color = "#008040" 

을 시도했다. 내가 뭘 놓치고 있니? 감사합니다

답변

2

"onPrepare"문에 데이터 집합이 아직 채워지지 않은 상태에서이 데이터 집합을 "onCreate"에 넣으면 작동합니다. 그러나 이것은 "onRender"로 실행되어야합니다 (나에게도 효과가 있음). 데이터 셀 컨테이너에있는 가 아닌 데이터 항목에 스크립트를 넣을 때 매우주의하십시오.

if(this.getValue() < 0) 
    this.getStyle().color = "red" 
else this.getStyle().color = "green" 

그런데 색상 코딩의 경우 스크립트가 아닌 "하이라이트"기능을 사용하는 것이 좋습니다.

enter image description here

+0

감사합니다. 하이라이트 탭에서 완벽하게 작동했습니다. 글꼴 색상에도 적용 할 수 있는지 여부를 몰랐습니다. :) – user742102

관련 문제