일종의 상태 페이지에 많은 차트를 표시해야합니다. 차트는 tabView
및 accordionPanel
으로 그룹화해야합니다. 이 설정은 PrimeFaces 2.2.1에서 잘 작동합니다. 새 버전의 일부 기능으로 인해 차트가 더 이상 플래시이 아니기 때문에 PrimeFaces 3 (현재 3.0.M3)으로 마이그레이션하려고합니다.PrimeFaces를 사용하여 tabView 내부에서 차트를 렌더링하는 방법
<p:tabView>
<p:tab title="One">
<p:pieChart value="#{myBean.myChartOne}" />
</p:tab>
<p:tab title="Two">
<p:pieChart value="#{myBean.myChartTwo}" />
</p:tab>
</p:tabView>
차트가 나타나지 않습니다. 이 문제를 설명하고 3.0 M4의 차트에 게으른로드가 있어야한다고 설명하는 bug report이 있습니다.
업데이트 :
내가 지금 사용하고 PrimeFaces 게으른 로딩 차트 3.0 M4 - 스냅 샷. 다음과 같이 보입니다 :
<p:tabView>
<p:tab>
<p:accordionPanel>
<p:tab title="All time">
<p:commandButton value="load chart" type="button" onclick="onTimeChartAll.init(); buttonOnTimeChartAll.disable();"
widgetVar="buttonOnTimeChartAll"/>
<p:pieChart value="#{myBean.onTimeChartAll}" lazy="true"
widgetVar="onTimeChartAll" />
</p:tab>
<p:tab title="30 Days">
<p:commandButton value="load chart" type="button" onclick="onTimeChart30Days.init();buttonOnTimeChart30Days.disable();"
widgetVar="buttonOnTimeChart30Days"/>
<p:pieChart value="#{myBean.onTimeChart30Days}" lazy="true" widgetVar="onTimeChart30Days" />
</p:tab>
</p:accordionPanel>
</p:tab>
[...] <!-- and so on -->
</p:tabView>
나는 탭을 열고 차트를로드 할 수 있습니다. 이제 탭을 열 때 자동으로 차트를로드하는 솔루션을 찾고 싶습니다. 탭이 열렸을 때 자동으로 차트를로드하는 솔루션이 있습니까? p:accordionPanel
과 p:tabView
의 경우 onTabShow
속성이 있지만, p:tab
에 필요하다고 생각합니다. 또는 onTabShow
및 var
을 통해 현재 열린 탭의 widgetVar
을 처리 할 수 있습니까?
한 가지 아이디어 : 차트를 표시하는 데 문제가 있었지만 Webkit 브라우저 (Chrome, Safari, ...)에서만 문제가있었습니다. 나에게 그것은'을 사용하는 것을 도왔다. 그것이 관련이 있는지 알지는 못하지만 시도해 볼 수는 있습니다. –
이것은 버그가 아니라 차원 계산이 필요한 숨겨진 컨테이너와이 구성 요소의 자식에 대한 공통적 인 제한 사항입니다. 현재 해결 방법은 편집기와 비슷한 지연된 차트를 사용하는 것입니다. –
@CagatayCivici 버그보고에 따르면 다음 마일스톤 릴리스에서 게으른 차트를 사용할 수 있습니다. 그래서 나는 최신 야간과 함께 노력했다. 현재 버전에서 게으른 로딩을 사용하려면 어떻게해야합니까? – Chris