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="/" xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:SharePoint="Microsoft.SharePoint.WebControls">
<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.GraficaBarraMeses">
<xsl:with-param name="Rows" select="$Rows"/>
</xsl:call-template>
</td>
<td align="center" valign="middle">
<xsl:call-template name="dvt_1.GraficaBarraSector">
<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.GraficaBarra">
<xsl:with-param name="Rows" select="$Rows"/>
</xsl:call-template>
</td>
</tr>
</table>
</xsl:template>
<xsl:template name="dvt_1.GraficaBarraMeses">
<xsl:param name="Rows" />
<div id="chartsBarrasMeses" class="chart" align="center" style=’width:400px; height:300px;’></div>
<script type="text/javascript">
<xsl:for-each select="$Rows">
DatosArrayMeses(<xsl:value-of select="position()"/>,'<xsl:value-of select="@Mes"></xsl:value-of>',<xsl:value-of select="@Importe"></xsl:value-of>);
</xsl:for-each>
var myChartBarrasMeses;
var chartBarrasMeses = new EJSC.Chart("chartsBarrasMeses",{title: "Ventas por Mes",show_x_axis: false});
chartBarrasMeses.y_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
chartBarrasMeses.x_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
chartBarrasMeses.setXAxisCaption("Meses");
chartBarrasMeses.setYAxisCaption("Importes");
myChartBarrasMeses = new EJSC.BarSeries(new EJSC.ArrayDataHandler(arrayDataMeses));
myChartBarrasMeses.y_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
myChartBarrasMeses.x_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
myChartBarrasMeses.color = 'rgb(50,210,50)';
myChartBarrasMeses.lineWidth = 2;
chartBarrasMeses.addSeries(myChartBarrasMeses)
</script>
</xsl:template>
<xsl:template name="dvt_1.GraficaBarraSector">
<xsl:param name="Rows" />
<div id="chartsBarrasSector" class="chart" align="center" style=’width:400px; height:300px;’></div>
<script type="text/javascript">
<xsl:for-each select="$Rows">
DatosArraySector(<xsl:value-of select="position()"/>,'<xsl:value-of select="@Sector"></xsl:value-of>',<xsl:value-of select="@Importe"></xsl:value-of>);
</xsl:for-each>
var myChartBarrasSector;
var chartBarrasSector = new EJSC.Chart("chartsBarrasSector",{title: "Ventas por Sector"});
chartBarrasSector.y_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
chartBarrasSector.x_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
chartBarrasSector.setXAxisCaption("Sector");
chartBarrasSector.setYAxisCaption("Importes");
myChartBarrasSector = new EJSC.BarSeries(new EJSC.ArrayDataHandler(arrayDataSector));
myChartBarrasSector.y_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
myChartBarrasSector.x_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
myChartBarrasSector.color = 'rgb(50,210,50)';
myChartBarrasSector.lineWidth = 2;
chartBarrasSector.addSeries(myChartBarrasSector)
</script>
</xsl:template>
<xsl:template name="dvt_1.GraficaBarra">
<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">
DatosArrayTorta(<xsl:value-of select="position()"/>,<xsl:value-of select="@Importe"></xsl:value-of>,'<xsl:value-of select="@Mes"></xsl:value-of>','<xsl:value-of select="@Sector"></xsl:value-of>');
</xsl:for-each>
var myChartTorta;
var chart = new EJSC.Chart("chartsTorta",{title: "Ventas Totales",show_x_axis: false});
chart.setXAxisCaption("Meses");
chart.setYAxisCaption("Importes");
myChartTorta = new EJSC.PieSeries(new EJSC.ArrayDataHandler(arrayDataTorta),{onPieceNeedsColor: ColoresPorMes});
myChartTorta.y_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
myChartTorta.x_axis_formatter = new EJSC.NumberFormatter({ forced_decimals: 2 });
chart.addSeries(myChartTorta)
</script>
</xsl:template>
</xsl:stylesheet>
|