2015-10-16 46 views
0

我已成功地在下面创建Primefaces barcharts动态使用XHTML代码:如何动态地导出创建Primefaces条形图

<p:dataGrid id="chartdataGrid" var="controlLoopChart" value="#{analysisreports.controlLoopCharts}" columns="1" style="border:none;"> 
     <p:chart type="bar" model="#{controlLoopChart.bcharts}"/> 
</p:dataGrid> 

我的问题是如何将这些动态生成柱状图导出为图片?

回答

0

它很容易使用JavaScriptPrimeFaces您可以将它保存为图像。 下面的代码将帮助您:虽然chartwidgetVar进行有针对性的图表

<p:commandButton type="button" value="Export" icon="ui-icon-extlink" onclick="exportChart()"/> 
<p:dialog widgetVar="dlg" showEffect="fade" modal="true" header="Chart as an Image" resizable="false"> 
    <p:outputPanel id="output" layout="block" style="width:500px;height:300px"/> 
</p:dialog> 

<script type="text/javascript"> 
function exportChart() { 
    //export image 
    $('#output').empty().append(PF('chart').exportAsImage()); 

    //show the dialog 
    PF('dlg').show(); 
} 
</script> 
+0

我知道的方式,但哪些是基于数据库中生成的动态条形图是什么? –

+0

当您调用此JS函数时,图表会转换为图像。如果您设法基于数据库创建/显示条形图。它会给图表当前加载的网页 – Sarz

+0

图表导出为基于图表id的图像,如何根据图表数量给出不同的id将其导出为图像? –