This commit is contained in:
@@ -104,22 +104,28 @@
|
|||||||
|
|
||||||
<asp:UpdatePanel ID="UpAnual" UpdateMode="Conditional" runat="server">
|
<asp:UpdatePanel ID="UpAnual" UpdateMode="Conditional" runat="server">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<asp:GridView ID="GvAnual" runat="server" AutoGenerateColumns="False" ShowHeader="true" EmptyDataText="No se encontraron datos" GridLines="none"
|
<asp:GridView ID="GvAnual" runat="server" AutoGenerateColumns="False" ShowHeader="true" EmptyDataText="No se encontraron datos" GridLines="none"
|
||||||
CssClass="ADSCROLLER2 table table-striped table-advance table-hover" data-cols="2" data-heightmenos="300">
|
CssClass="ADSCROLLER2 table table-striped table-advance table-hover" data-cols="2" data-heightmenos="300">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
|
<HeaderTemplate>
|
||||||
|
<asp:HyperLink ID="Hypgrafica" runat="server" CssClass="Texto Hypgrafica gral" NavigateUrl="javascript:void(0);" onclick="return cargaGraficaBarras2();"><i class="fa fa-bar-chart" aria-hidden="true"></i></asp:HyperLink>
|
||||||
|
</HeaderTemplate>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:HyperLink ID="Hypgrafica" runat="server" CssClass="Texto Hypgrafica" NavigateUrl="javascript:void(0);" onclick="return HandlerGraf(this, event);"><i class="fa fa-bar-chart" aria-hidden="true"></i></asp:HyperLink>
|
<div style="white-space: nowrap">
|
||||||
|
<asp:HyperLink ID="Hypgrafica" runat="server" CssClass="Texto Hypgrafica" NavigateUrl="javascript:void(0);" onclick="return HandlerGraf(this, event);"><i class="fa fa-bar-chart" aria-hidden="true"></i></asp:HyperLink>
|
||||||
|
<asp:CheckBox ID="chkgraf" CssClass="chkgraf" runat="server" />
|
||||||
|
</div>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField ItemStyle-HorizontalAlign="Left" ItemStyle-Width="250px" ControlStyle-Width="250px">
|
||||||
|
<HeaderTemplate>
|
||||||
|
<div style="width: 200px;">Nombre</div>
|
||||||
|
</HeaderTemplate>
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Label runat="server" Text='<%# Eval("Nombre")%>'></asp:Label>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField ItemStyle-HorizontalAlign="Left" ItemStyle-Width="250px" ControlStyle-Width="250px">
|
|
||||||
<HeaderTemplate>
|
|
||||||
<div style="width: 200px;">Nombre</div>
|
|
||||||
</HeaderTemplate>
|
|
||||||
<ItemTemplate>
|
|
||||||
<asp:Label runat="server" Text='<%# Eval("Nombre")%>'></asp:Label>
|
|
||||||
</ItemTemplate>
|
|
||||||
</asp:TemplateField>
|
|
||||||
<asp:BoundField DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
|
<asp:BoundField DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="100px" />
|
||||||
<asp:BoundField DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="75px" />
|
<asp:BoundField DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="75px" />
|
||||||
<asp:BoundField DataFormatString="{0:N2}%" ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="50px" />
|
<asp:BoundField DataFormatString="{0:N2}%" ItemStyle-HorizontalAlign="Right" ItemStyle-CssClass="ceros" ItemStyle-Width="50px" />
|
||||||
@@ -221,7 +227,7 @@
|
|||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
|
|
||||||
|
|
||||||
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
|
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
|
||||||
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional">
|
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
@@ -256,7 +262,7 @@
|
|||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||||
|
|
||||||
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
|
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
|
||||||
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
|
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
|
||||||
<script src="https://www.amcharts.com/lib/3/pie.js"></script>
|
<script src="https://www.amcharts.com/lib/3/pie.js"></script>
|
||||||
@@ -267,15 +273,15 @@
|
|||||||
<script>
|
<script>
|
||||||
let cdatos;
|
let cdatos;
|
||||||
let currentid = 1;
|
let currentid = 1;
|
||||||
function HandlerGraf(obj, evt) {
|
function HandlerGraf(obj, evt) {
|
||||||
$("#DivModalGrafica").modal();
|
$("#DivModalGrafica").modal();
|
||||||
cdatos = $(obj).data('values');
|
cdatos = $(obj).data('values');
|
||||||
if (currentid == 1) {
|
if (currentid == 1) {
|
||||||
CargaGraficaBarras();
|
CargaGraficaBarras();
|
||||||
} else {
|
} else {
|
||||||
CargaGraficaPastel();
|
CargaGraficaPastel();
|
||||||
}
|
}
|
||||||
$('.LblTituloGrafica').text($(obj).parent().parent().text());
|
$('.LblTituloGrafica').text($(obj).parent().parent().text());
|
||||||
}
|
}
|
||||||
function CargaGraficaBarras() {
|
function CargaGraficaBarras() {
|
||||||
let data = cdatos;
|
let data = cdatos;
|
||||||
@@ -333,17 +339,140 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
function ADSBegin() {
|
function ADSBegin() {
|
||||||
$('.DdlGrafica').on('select2:select', function (e) {
|
$('.DdlGrafica').on('select2:select', function (e) {
|
||||||
var data = e.params.data;
|
var data = e.params.data;
|
||||||
currentid = data.id;
|
currentid = data.id;
|
||||||
if (currentid == 1) {
|
if (currentid == 1) {
|
||||||
CargaGraficaBarras();
|
CargaGraficaBarras();
|
||||||
} else {
|
} else {
|
||||||
CargaGraficaPastel();
|
CargaGraficaPastel();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('.DdlGrafica').removeClass('DdlGrafica')
|
$('.DdlGrafica').removeClass('DdlGrafica');
|
||||||
|
initamgrafica();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function cargaGraficaBarras2() {
|
||||||
|
//Hypgrafica
|
||||||
|
$("#DivModalGrafica").modal();
|
||||||
|
$('.LblTituloGrafica').text('grafica');
|
||||||
|
let items = []
|
||||||
|
let data;
|
||||||
|
let series = [];
|
||||||
|
$('.chkgraf input:checked').each(function () {
|
||||||
|
data = $(this).closest('tr').find('.Hypgrafica').data('values')
|
||||||
|
let name = $(this).closest('tr').text().trim()
|
||||||
|
items.push({ data: data, name: name })
|
||||||
|
});
|
||||||
|
if (items) {
|
||||||
|
data = items[0].data;
|
||||||
|
series.push({
|
||||||
|
"balloonText": "[[title]]: <b>[[value]]</b> [[Moneda]]",
|
||||||
|
"colorField": "Color",
|
||||||
|
"fillAlphas": 1,
|
||||||
|
"lineAlpha": 0.1,
|
||||||
|
"type": "column",
|
||||||
|
"title": items[0].name,
|
||||||
|
"valueField": 'Valor'
|
||||||
|
})
|
||||||
|
for (var indexcol = 1; indexcol < items.length; indexcol++) {
|
||||||
|
let cdatos = items[indexcol].data;
|
||||||
|
let valueField = 'Valor' + indexcol;
|
||||||
|
for (var i = 0; i < cdatos.length; i++) {
|
||||||
|
data[i][valueField] = cdatos[i].Valor
|
||||||
|
}
|
||||||
|
series.push({
|
||||||
|
"balloonText": "[[title]]: <b>[[value]]</b> [[Moneda]]",
|
||||||
|
"colorField": "Color",
|
||||||
|
"fillAlphas": 1,
|
||||||
|
"lineAlpha": 0.1,
|
||||||
|
"type": "column",
|
||||||
|
"title": items[indexcol].name,
|
||||||
|
"valueField": valueField
|
||||||
|
})
|
||||||
|
}
|
||||||
|
var chart = AmCharts.makeChart("chartdiv", {
|
||||||
|
"type": "serial",
|
||||||
|
"theme": "light",
|
||||||
|
"dataProvider": data,
|
||||||
|
"startDuration": 2, "legend": {
|
||||||
|
|
||||||
|
"generateFromData": true // "data": data.map(function(num) { return {title:num.Texto ,color:num.Color}; })
|
||||||
|
},
|
||||||
|
"valueAxes": [{
|
||||||
|
"position": "left",
|
||||||
|
"title": "Ventas"
|
||||||
|
}],
|
||||||
|
"graphs": series,
|
||||||
|
"depth3D": 20,
|
||||||
|
"angle": 30,
|
||||||
|
"chartCursor": {
|
||||||
|
"categoryBalloonEnabled": false,
|
||||||
|
"cursorAlpha": 0,
|
||||||
|
"zoomable": false
|
||||||
|
},
|
||||||
|
"categoryField": "Texto",
|
||||||
|
"categoryAxis": {
|
||||||
|
"gridPosition": "start",
|
||||||
|
"labelRotation": 90
|
||||||
|
},
|
||||||
|
"export": {
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function initamgrafica() {
|
||||||
|
AmCharts.addInitHandler(function (chart) {
|
||||||
|
function handleCustomMarkerToggle(legendEvent) {
|
||||||
|
var dataProvider = legendEvent.chart.dataProvider;
|
||||||
|
var itemIndex;
|
||||||
|
legendEvent.chart.toggleLegend = true;
|
||||||
|
if (undefined !== legendEvent.dataItem.hidden && legendEvent.dataItem.hidden) {
|
||||||
|
legendEvent.dataItem.hidden = false;
|
||||||
|
dataProvider.push(legendEvent.dataItem.storedObj);
|
||||||
|
legendEvent.dataItem.storedObj = undefined;
|
||||||
|
dataProvider.sort(function (lhs, rhs) {
|
||||||
|
return lhs.dataIdx - rhs.dataIdx;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
legendEvent.dataItem.hidden = true;
|
||||||
|
for (var i = 0; i < dataProvider.length; ++i) {
|
||||||
|
if (dataProvider[i].dataIdx === legendEvent.dataItem.dataIdx) {
|
||||||
|
itemIndex = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
legendEvent.dataItem.storedObj = dataProvider[itemIndex];
|
||||||
|
dataProvider.splice(itemIndex, 1);
|
||||||
|
}
|
||||||
|
legendEvent.chart.validateData();
|
||||||
|
}
|
||||||
|
if (!chart.legend || !chart.legend.enabled || !chart.legend.generateFromData) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var categoryField = chart.categoryField;
|
||||||
|
var colorField = chart.graphs[0].lineColorField || chart.graphs[0].fillColorsField || chart.graphs[0].colorField;
|
||||||
|
var legendData = chart.dataProvider.map(function (data, idx) {
|
||||||
|
var markerData = {
|
||||||
|
"title": data[categoryField],
|
||||||
|
"color": data[colorField],
|
||||||
|
"dataIdx": idx
|
||||||
|
};
|
||||||
|
if (!markerData.color) {
|
||||||
|
markerData.color = chart.graphs[0].lineColor;
|
||||||
|
}
|
||||||
|
data.dataIdx = idx;
|
||||||
|
return markerData;
|
||||||
|
});
|
||||||
|
|
||||||
|
chart.legend.data = legendData;
|
||||||
|
chart.legend.switchable = true;
|
||||||
|
chart.legend.addListener("clickMarker", handleCustomMarkerToggle);
|
||||||
|
|
||||||
|
}, ["serial"]);
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<script>
|
<script>
|
||||||
function LimpiaCeros() {
|
function LimpiaCeros() {
|
||||||
|
|||||||
@@ -100,14 +100,20 @@
|
|||||||
<asp:UpdatePanel ID="UpCC" UpdateMode="Conditional" runat="server">
|
<asp:UpdatePanel ID="UpCC" UpdateMode="Conditional" runat="server">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
|
|
||||||
<div >
|
<div>
|
||||||
<div style="background-color:#fff;">
|
<div style="background-color: #fff;">
|
||||||
<asp:GridView ID="GvCC" runat="server" AutoGenerateColumns="False" ShowHeader="true" EmptyDataText="No se encontraron datos" GridLines="none"
|
<asp:GridView ID="GvCC" runat="server" AutoGenerateColumns="False" ShowHeader="true" EmptyDataText="No se encontraron datos" GridLines="none"
|
||||||
CssClass="ADSCROLLER2 table table-striped table-advance table-hover" data-cols="2" data-heightmenos="300">
|
CssClass="ADSCROLLER2 table table-striped table-advance table-hover" data-cols="2" data-heightmenos="300">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
|
<HeaderTemplate>
|
||||||
|
<asp:HyperLink ID="Hypgrafica" runat="server" CssClass="Texto Hypgrafica gral" NavigateUrl="javascript:void(0);" onclick="return cargaGraficaBarras2();"><i class="fa fa-bar-chart" aria-hidden="true"></i></asp:HyperLink>
|
||||||
|
</HeaderTemplate>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:HyperLink ID="Hypgrafica" runat="server" CssClass="Texto Hypgrafica" NavigateUrl="javascript:void(0);" onclick="return HandlerGraf(this, event);"><i class="fa fa-bar-chart" aria-hidden="true"></i></asp:HyperLink>
|
<div style="white-space: nowrap">
|
||||||
|
<asp:HyperLink ID="Hypgrafica" runat="server" CssClass="Texto Hypgrafica" NavigateUrl="javascript:void(0);" onclick="return HandlerGraf(this, event);"><i class="fa fa-bar-chart" aria-hidden="true"></i></asp:HyperLink>
|
||||||
|
<asp:CheckBox ID="chkgraf" CssClass="chkgraf" runat="server" />
|
||||||
|
</div>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField ItemStyle-HorizontalAlign="Left" ItemStyle-Width="250px" ControlStyle-Width="250px">
|
<asp:TemplateField ItemStyle-HorizontalAlign="Left" ItemStyle-Width="250px" ControlStyle-Width="250px">
|
||||||
@@ -383,8 +389,131 @@
|
|||||||
CargaGraficaPastel();
|
CargaGraficaPastel();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('.DdlGrafica').removeClass('DdlGrafica')
|
$('.DdlGrafica').removeClass('DdlGrafica');
|
||||||
|
initamgrafica();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function cargaGraficaBarras2() {
|
||||||
|
//Hypgrafica
|
||||||
|
$("#DivModalGrafica").modal();
|
||||||
|
$('.LblTituloGrafica').text('grafica');
|
||||||
|
let items = []
|
||||||
|
let data;
|
||||||
|
let series = [];
|
||||||
|
$('.chkgraf input:checked').each(function () {
|
||||||
|
data = $(this).closest('tr').find('.Hypgrafica').data('values')
|
||||||
|
let name = $(this).closest('tr').text().trim()
|
||||||
|
items.push({ data: data, name: name })
|
||||||
|
});
|
||||||
|
if (items) {
|
||||||
|
data = items[0].data;
|
||||||
|
series.push({
|
||||||
|
"balloonText": "[[title]]: <b>[[value]]</b> [[Moneda]]",
|
||||||
|
"colorField": "Color",
|
||||||
|
"fillAlphas": 1,
|
||||||
|
"lineAlpha": 0.1,
|
||||||
|
"type": "column",
|
||||||
|
"title": items[0].name,
|
||||||
|
"valueField": 'Valor'
|
||||||
|
})
|
||||||
|
for (var indexcol = 1; indexcol < items.length; indexcol++) {
|
||||||
|
let cdatos = items[indexcol].data;
|
||||||
|
let valueField = 'Valor' + indexcol;
|
||||||
|
for (var i = 0; i < cdatos.length; i++) {
|
||||||
|
data[i][valueField] = cdatos[i].Valor
|
||||||
|
}
|
||||||
|
series.push({
|
||||||
|
"balloonText": "[[title]]: <b>[[value]]</b> [[Moneda]]",
|
||||||
|
"colorField": "Color",
|
||||||
|
"fillAlphas": 1,
|
||||||
|
"lineAlpha": 0.1,
|
||||||
|
"type": "column",
|
||||||
|
"title": items[indexcol].name,
|
||||||
|
"valueField": valueField
|
||||||
|
})
|
||||||
|
}
|
||||||
|
var chart = AmCharts.makeChart("chartdiv", {
|
||||||
|
"type": "serial",
|
||||||
|
"theme": "light",
|
||||||
|
"dataProvider": data,
|
||||||
|
"startDuration": 2, "legend": {
|
||||||
|
|
||||||
|
"generateFromData": true // "data": data.map(function(num) { return {title:num.Texto ,color:num.Color}; })
|
||||||
|
},
|
||||||
|
"valueAxes": [{
|
||||||
|
"position": "left",
|
||||||
|
"title": "Ventas"
|
||||||
|
}],
|
||||||
|
"graphs": series,
|
||||||
|
"depth3D": 20,
|
||||||
|
"angle": 30,
|
||||||
|
"chartCursor": {
|
||||||
|
"categoryBalloonEnabled": false,
|
||||||
|
"cursorAlpha": 0,
|
||||||
|
"zoomable": false
|
||||||
|
},
|
||||||
|
"categoryField": "Texto",
|
||||||
|
"categoryAxis": {
|
||||||
|
"gridPosition": "start",
|
||||||
|
"labelRotation": 90
|
||||||
|
},
|
||||||
|
"export": {
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function initamgrafica() {
|
||||||
|
AmCharts.addInitHandler(function (chart) {
|
||||||
|
function handleCustomMarkerToggle(legendEvent) {
|
||||||
|
var dataProvider = legendEvent.chart.dataProvider;
|
||||||
|
var itemIndex;
|
||||||
|
legendEvent.chart.toggleLegend = true;
|
||||||
|
if (undefined !== legendEvent.dataItem.hidden && legendEvent.dataItem.hidden) {
|
||||||
|
legendEvent.dataItem.hidden = false;
|
||||||
|
dataProvider.push(legendEvent.dataItem.storedObj);
|
||||||
|
legendEvent.dataItem.storedObj = undefined;
|
||||||
|
dataProvider.sort(function (lhs, rhs) {
|
||||||
|
return lhs.dataIdx - rhs.dataIdx;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
legendEvent.dataItem.hidden = true;
|
||||||
|
for (var i = 0; i < dataProvider.length; ++i) {
|
||||||
|
if (dataProvider[i].dataIdx === legendEvent.dataItem.dataIdx) {
|
||||||
|
itemIndex = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
legendEvent.dataItem.storedObj = dataProvider[itemIndex];
|
||||||
|
dataProvider.splice(itemIndex, 1);
|
||||||
|
}
|
||||||
|
legendEvent.chart.validateData();
|
||||||
|
}
|
||||||
|
if (!chart.legend || !chart.legend.enabled || !chart.legend.generateFromData) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var categoryField = chart.categoryField;
|
||||||
|
var colorField = chart.graphs[0].lineColorField || chart.graphs[0].fillColorsField || chart.graphs[0].colorField;
|
||||||
|
var legendData = chart.dataProvider.map(function (data, idx) {
|
||||||
|
var markerData = {
|
||||||
|
"title": data[categoryField],
|
||||||
|
"color": data[colorField],
|
||||||
|
"dataIdx": idx
|
||||||
|
};
|
||||||
|
if (!markerData.color) {
|
||||||
|
markerData.color = chart.graphs[0].lineColor;
|
||||||
|
}
|
||||||
|
data.dataIdx = idx;
|
||||||
|
return markerData;
|
||||||
|
});
|
||||||
|
|
||||||
|
chart.legend.data = legendData;
|
||||||
|
chart.legend.switchable = true;
|
||||||
|
chart.legend.addListener("clickMarker", handleCustomMarkerToggle);
|
||||||
|
|
||||||
|
}, ["serial"]);
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<script>
|
<script>
|
||||||
function LimpiaCeros(Divisor) {
|
function LimpiaCeros(Divisor) {
|
||||||
|
|||||||
@@ -106,13 +106,19 @@
|
|||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div style="background-color:#fff;">
|
<div style="background-color: #fff;">
|
||||||
<asp:GridView ID="GvMensual2" runat="server" AutoGenerateColumns="False" ShowHeader="true" EmptyDataText="No se encontraron datos" GridLines="none"
|
<asp:GridView ID="GvMensual2" runat="server" AutoGenerateColumns="False" ShowHeader="true" EmptyDataText="No se encontraron datos" GridLines="none"
|
||||||
CssClass="ADSCROLLER2 table table-striped table-advance table-hover" data-cols="2" data-heightmenos="300">
|
CssClass="ADSCROLLER2 table table-striped table-advance table-hover" data-cols="2" data-heightmenos="300">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
|
<HeaderTemplate>
|
||||||
|
<asp:HyperLink ID="Hypgrafica" runat="server" CssClass="Texto Hypgrafica gral" NavigateUrl="javascript:void(0);" onclick="return cargaGraficaBarras2();"><i class="fa fa-bar-chart" aria-hidden="true"></i></asp:HyperLink>
|
||||||
|
</HeaderTemplate>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:HyperLink ID="Hypgrafica" runat="server" CssClass="Texto Hypgrafica" NavigateUrl="javascript:void(0);" onclick="return HandlerGraf(this, event);"><i class="fa fa-bar-chart" aria-hidden="true"></i></asp:HyperLink>
|
<div style="white-space: nowrap">
|
||||||
|
<asp:HyperLink ID="Hypgrafica" runat="server" CssClass="Texto Hypgrafica" NavigateUrl="javascript:void(0);" onclick="return HandlerGraf(this, event);"><i class="fa fa-bar-chart" aria-hidden="true"></i></asp:HyperLink>
|
||||||
|
<asp:CheckBox ID="chkgraf" CssClass="chkgraf" runat="server" />
|
||||||
|
</div>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField ItemStyle-HorizontalAlign="Left" ItemStyle-Width="250px" ControlStyle-Width="250px">
|
<asp:TemplateField ItemStyle-HorizontalAlign="Left" ItemStyle-Width="250px" ControlStyle-Width="250px">
|
||||||
@@ -221,7 +227,7 @@
|
|||||||
} else {
|
} else {
|
||||||
CargaGraficaPastel();
|
CargaGraficaPastel();
|
||||||
}
|
}
|
||||||
$('.LblTituloGrafica').text($(obj).parent().parent().text());
|
$('.LblTituloGrafica').text($(obj).parent().parent().text().trim());
|
||||||
}
|
}
|
||||||
function CargaGraficaBarras() {
|
function CargaGraficaBarras() {
|
||||||
let data = cdatos;
|
let data = cdatos;
|
||||||
@@ -259,7 +265,6 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function CargaGraficaPastel() {
|
function CargaGraficaPastel() {
|
||||||
let data = cdatos;
|
let data = cdatos;
|
||||||
var chart = AmCharts.makeChart("chartdiv", {
|
var chart = AmCharts.makeChart("chartdiv", {
|
||||||
@@ -289,7 +294,130 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('.DdlGrafica').removeClass('DdlGrafica')
|
$('.DdlGrafica').removeClass('DdlGrafica')
|
||||||
|
initamgrafica();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function cargaGraficaBarras2() {
|
||||||
|
//Hypgrafica
|
||||||
|
$("#DivModalGrafica").modal();
|
||||||
|
$('.LblTituloGrafica').text('grafica');
|
||||||
|
let items = []
|
||||||
|
let data;
|
||||||
|
let series = [];
|
||||||
|
$('.chkgraf input:checked').each(function () {
|
||||||
|
data = $(this).closest('tr').find('.Hypgrafica').data('values')
|
||||||
|
let name = $(this).closest('tr').text().trim()
|
||||||
|
items.push({ data: data, name: name })
|
||||||
|
});
|
||||||
|
if (items) {
|
||||||
|
data = items[0].data;
|
||||||
|
series.push({
|
||||||
|
"balloonText": "[[title]]: <b>[[value]]</b> [[Moneda]]",
|
||||||
|
"colorField": "Color",
|
||||||
|
"fillAlphas": 1,
|
||||||
|
"lineAlpha": 0.1,
|
||||||
|
"type": "column",
|
||||||
|
"title": items[0].name,
|
||||||
|
"valueField": 'Valor'
|
||||||
|
})
|
||||||
|
for (var indexcol = 1; indexcol < items.length; indexcol++) {
|
||||||
|
let cdatos = items[indexcol].data;
|
||||||
|
let valueField = 'Valor' + indexcol;
|
||||||
|
for (var i = 0; i < cdatos.length; i++) {
|
||||||
|
data[i][valueField] = cdatos[i].Valor
|
||||||
|
}
|
||||||
|
series.push({
|
||||||
|
"balloonText": "[[title]]: <b>[[value]]</b> [[Moneda]]",
|
||||||
|
"colorField": "Color",
|
||||||
|
"fillAlphas": 1,
|
||||||
|
"lineAlpha": 0.1,
|
||||||
|
"type": "column",
|
||||||
|
"title": items[indexcol].name,
|
||||||
|
"valueField": valueField
|
||||||
|
})
|
||||||
|
}
|
||||||
|
var chart = AmCharts.makeChart("chartdiv", {
|
||||||
|
"type": "serial",
|
||||||
|
"theme": "light",
|
||||||
|
"dataProvider": data,
|
||||||
|
"startDuration": 2, "legend": {
|
||||||
|
|
||||||
|
"generateFromData": true // "data": data.map(function(num) { return {title:num.Texto ,color:num.Color}; })
|
||||||
|
},
|
||||||
|
"valueAxes": [{
|
||||||
|
"position": "left",
|
||||||
|
"title": "Ventas"
|
||||||
|
}],
|
||||||
|
"graphs": series,
|
||||||
|
"depth3D": 20,
|
||||||
|
"angle": 30,
|
||||||
|
"chartCursor": {
|
||||||
|
"categoryBalloonEnabled": false,
|
||||||
|
"cursorAlpha": 0,
|
||||||
|
"zoomable": false
|
||||||
|
},
|
||||||
|
"categoryField": "Texto",
|
||||||
|
"categoryAxis": {
|
||||||
|
"gridPosition": "start",
|
||||||
|
"labelRotation": 90
|
||||||
|
},
|
||||||
|
"export": {
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function initamgrafica() {
|
||||||
|
AmCharts.addInitHandler(function (chart) {
|
||||||
|
function handleCustomMarkerToggle(legendEvent) {
|
||||||
|
var dataProvider = legendEvent.chart.dataProvider;
|
||||||
|
var itemIndex;
|
||||||
|
legendEvent.chart.toggleLegend = true;
|
||||||
|
if (undefined !== legendEvent.dataItem.hidden && legendEvent.dataItem.hidden) {
|
||||||
|
legendEvent.dataItem.hidden = false;
|
||||||
|
dataProvider.push(legendEvent.dataItem.storedObj);
|
||||||
|
legendEvent.dataItem.storedObj = undefined;
|
||||||
|
dataProvider.sort(function (lhs, rhs) {
|
||||||
|
return lhs.dataIdx - rhs.dataIdx;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
legendEvent.dataItem.hidden = true;
|
||||||
|
for (var i = 0; i < dataProvider.length; ++i) {
|
||||||
|
if (dataProvider[i].dataIdx === legendEvent.dataItem.dataIdx) {
|
||||||
|
itemIndex = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
legendEvent.dataItem.storedObj = dataProvider[itemIndex];
|
||||||
|
dataProvider.splice(itemIndex, 1);
|
||||||
|
}
|
||||||
|
legendEvent.chart.validateData();
|
||||||
|
}
|
||||||
|
if (!chart.legend || !chart.legend.enabled || !chart.legend.generateFromData) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var categoryField = chart.categoryField;
|
||||||
|
var colorField = chart.graphs[0].lineColorField || chart.graphs[0].fillColorsField || chart.graphs[0].colorField;
|
||||||
|
var legendData = chart.dataProvider.map(function (data, idx) {
|
||||||
|
var markerData = {
|
||||||
|
"title": data[categoryField],
|
||||||
|
"color": data[colorField],
|
||||||
|
"dataIdx": idx
|
||||||
|
};
|
||||||
|
if (!markerData.color) {
|
||||||
|
markerData.color = chart.graphs[0].lineColor;
|
||||||
|
}
|
||||||
|
data.dataIdx = idx;
|
||||||
|
return markerData;
|
||||||
|
});
|
||||||
|
|
||||||
|
chart.legend.data = legendData;
|
||||||
|
chart.legend.switchable = true;
|
||||||
|
chart.legend.addListener("clickMarker", handleCustomMarkerToggle);
|
||||||
|
|
||||||
|
}, ["serial"]);
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<script>
|
<script>
|
||||||
function LimpiaCeros() {
|
function LimpiaCeros() {
|
||||||
|
|||||||
Reference in New Issue
Block a user