2012-05-03 3 views
1

현재 시계열 차트에서 시간대 문제가 있습니다.JasperReports : 시계열 차트에서 시간주기를 동적으로 설정했습니다.

내가 원하는 것 : - 사용자는 두 가지 날짜를 선택할 수 있습니다. 해당 날짜 사이의 데이터가보고 될 예정입니다. - 보고서를 만들기 전에 사용자가 기간을 선택할 수도 있습니다. [연도, 월, 일]

시간을 설정하는 방법은 timePeriod 속성을 설정하는 것입니다. 이 같은 매개 변수 :

<timeSeriesDataset timePeriod="$P{TimePeriod}"> 

그러나 컴파일 할 때, 나는 다음과 같은 오류 받고 있어요 : 나는 모든 것을 시도했습니다

org.xml.sax.SAXParseException: cvc-enumeration-valid: 
Value '$P{TimePeriod}' is not facet-valid with respect to enumeration 
'[Year, Quarter, Month, Week, Day, Hour, Minute, Second, Milisecond]'. 
It must be a value from the enumeration. 

(예, 매개 변수의 데이터 유형을 변경 ...)하지만 난을 항상이 오류가 나올 때까지. timePeriod을 동적으로 설정할 수 있습니까? 그리고 그것을 성취하는 방법?

미리 도움 주셔서 감사합니다.

답변

0

불행히도 짧은 대답은 '아니오'입니다. 이 기능 요청보기 http://jasperforge.org/projects/ireport/tracker/view.php?id=4629

그러나 해킹을 할 수 있습니다. 차트 3 부

<band height="240"> 
    <printWhenExpression><![CDATA["Year".equals($P{TimePeriod})]]></printWhenExpression> 
    <timeSeriesChart> 
     ... 
     <timeSeriesDataset timePeriod="Year"> 
     ... 
</band> 
<band height="240"> 
    <printWhenExpression><![CDATA["Month".equals($P{TimePeriod})]]></printWhenExpression> 
    <timeSeriesChart> 
     ... 
     <timeSeriesDataset timePeriod="Month"> 
     ... 
</band> 
<band height="240"> 
    <printWhenExpression><![CDATA["Day".equals($P{TimePeriod})]]></printWhenExpression> 
    <timeSeriesChart> 
     ... 
     <timeSeriesDataset timePeriod="Day"> 
     ... 
</band> 

죄송합니다. 클리너가 없습니다.

관련 문제