Código Fuente – Xslt
<xsl:stylesheet
xmlns:x="http://www.w3.org/2001/XMLSchema"
xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp"
version="1.0"
exclude-result-prefixes="xsl msxsl ddwrt"
xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"
xmlns:asp="http://schemas.microsoft.com/ASPNET/20"
xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:SharePoint="Microsoft.SharePoint.WebControls"
xmlns:ddwrt2="urn:frontpage:internal">
<xsl:output method="html" indent="no"/>
<xsl:template match="/">
<xsl:call-template name="dvt_1"/>
</xsl:template>
<xsl:template name="dvt_1">
<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row"/>
<table border="1" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td align="center" valign="middle">
<xsl:call-template name="dvt_1.GraficaTorta">
<xsl:with-param name="Rows" select="$Rows"/>
</xsl:call-template>
</td>
<td align="center" valign="middle">
<xsl:call-template name="dvt_1.GraficaBarras">
<xsl:with-param name="Rows" select="$Rows"/>
</xsl:call-template>
</td>
</tr>
<tr>
<td align="center" valign="middle" colspan="2">
<xsl:call-template name="dvt_1.GraficaAreas">
<xsl:with-param name="Rows" select="$Rows"/>
</xsl:call-template>
</td>
</tr>
</table>
</xsl:template>
<xsl:template name="dvt_1.GraficaTorta">
<xsl:param name="Rows" />
<div id="chartsTorta" class="chart" align="center" style=’width:400px; height:300px;’></div>
<script type="text/javascript">
<xsl:for-each select="$Rows">
DatosGraficaTorta(<xsl:value-of select="position()"/>,<xsl:value-of select="@Importe"></xsl:value-of>,'<xsl:value-of select="@Title"></xsl:value-of>');
</xsl:for-each>
var myChartSeries;
var chart = new EJSC.Chart("chartsTorta",{title: "Ventas Anuales – Gráfica de Torta"});
chart.y_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
chart.x_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
chart.setXAxisCaption("Meses");
chart.setYAxisCaption("Importes");
myChartSeries = new EJSC.PieSeries(new EJSC.ArrayDataHandler(arrayData));
myChartSeries.y_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
myChartSeries.x_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
chart.addSeries(myChartSeries)
</script>
</xsl:template>
<xsl:template name="dvt_1.GraficaBarras">
<xsl:param name="Rows" />
<div id="chartsBarras" class="chart" align="center" style=’width:400px; height:300px;’></div>
<script type="text/javascript">
<xsl:for-each select="$Rows">
DatosGraficaBarras(<xsl:value-of select="position()"/>,'<xsl:value-of select="@Title"></xsl:value-of>',<xsl:value-of select="@Importe"></xsl:value-of>);
</xsl:for-each>
var myChartBarras;
var chartBarras = new EJSC.Chart("chartsBarras",{title: "Ventas Anuales – Gráfica de Barras",show_x_axis: false});
chartBarras.y_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
chartBarras.x_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
chartBarras.setXAxisCaption("Meses");
chartBarras.setYAxisCaption("Importes");
alert(arrayDataBarras);
myChartBarras = new EJSC.BarSeries(new EJSC.ArrayDataHandler(arrayDataBarras));
myChartBarras.y_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
myChartBarras.x_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
myChartBarras.color = 'rgb(50,210,50)';
myChartBarras.lineWidth = 2;
chartBarras.addSeries(myChartBarras)
</script>
</xsl:template>
<xsl:template name="dvt_1.GraficaAreas">
<xsl:param name="Rows" />
<div id="chartsAreas" class="chart" align="center" style=’width:400px; height:300px;’></div>
<script type="text/javascript">
<xsl:for-each select="$Rows">
DatosGraficaAreas(<xsl:value-of select="position()"/>,'<xsl:value-of select="@Title"></xsl:value-of>',<xsl:value-of select="@Importe"></xsl:value-of>);
</xsl:for-each>
var myChartAreas;
var chartAreas = new EJSC.Chart("chartsAreas",{title: "Ventas Anuales – Gráfica de Área",show_x_axis: false});
chartAreas.y_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
chartAreas.x_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
chartAreas.setXAxisCaption("Meses");
chartAreas.setYAxisCaption("Importes");
alert(arrayDataAreas);
myChartAreas = new EJSC.AreaSeries(new EJSC.ArrayDataHandler(arrayDataAreas));
myChartAreas.y_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
myChartAreas.x_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
myChartAreas.color = 'rgb(50,210,50)';
myChartAreas.lineWidth = 2;
chartAreas.addSeries(myChartAreas)
</script>
</xsl:template>
</xsl:stylesheet>
|