Onde postar a minha dúvida? Como converter da data (data_semanal)? O que há de errado no código abaixo?
Retorna o erro: Type mismatch. Value /Date(1409626800000)/ does not match type date in column index 0
Controller:
public ActionResult EvolucaoPeso()
{
var dia = db.spPesoEvolucao().ToArray();
var a = dia.Select(x => new { x.data_semanal, x.peso_kg });
return Json(a, JsonRequestBehavior.AllowGet);
}
Index:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<!-- Script-->
<script type="text/javascript">
google.load('visualization', '1', { 'packages': ['corechart'] });
google.setOnLoadCallback(drawChart);
function drawChart() {
$.get('/Avaliacao/EvolucaoPeso', {},
function (data) {
var tdata = new google.visualization.DataTable();
tdata.addColumn('date', 'data_semanal');
tdata.addColumn('number', 'peso_kg');
for (var i = 0; i < data.length; i++) {
if (data[i].data_semanal != null)
tdata.addRow([data[i].data_semanal, data[i].peso_kg]);
}
var options = {
vAxis: { title: "PESO", minValue: 1 },
hAxis: { title: "DATA", textStyle: { fontSize: 10 } },
legend: { position: "none" },
async: true
};
function ToJavaScriptDate(value) {
var pattern = /Date\(([^)]+)\)/;
var results = pattern.exec(value);
var dt = new Date(parseFloat(results[1]));
return (dt.getMonth() + 1) + "/" + dt.getDate() + "/" + dt.getFullYear();
}
console.log(data);
var chart = new google.visualization.LineChart(document.getElementById('EvolucaoPeso'));
chart.draw(tdata, options);
});
}
</script>
Tentando evoluir, mas sem sucesso:
Retorna o erro:
"Uncaught Error: Type mismatch. Value 3/8/2014 does not match type date in column index 0"
<script>
function ToJavaScriptDate(value)
{
var pattern = /Date\(([^)]+)\)/;
var results = pattern.exec(value);
var dt = new Date(parseFloat(results[1]));
return (dt.getDate() + 1) + "/" + dt.getMonth() + "/" + dt.getFullYear();
}
</script>
<!-- Script-->
<script type="text/javascript">
google.load('visualization', '1.1', { 'packages': ['corechart'] });
google.setOnLoadCallback(drawChart);
function drawChart() {
$.get('/Programa_Nutricao/Avaliacao/EvolucaoPeso', {},
function (data) {
var tdata = new google.visualization.DataTable();
tdata.addColumn('date', 'data_semanal');
tdata.addColumn('number', 'peso_kg');
for (var i = 0; i < data.length; i++) {
if (data[i].data_semanal != null)
tdata.addRow([ToJavaScriptDate(data[i].data_semanal), data[i].peso_kg]);
}
var options = {
vAxis: { title: "PESO", minValue: 1 },
hAxis: { title: "DATA", textStyle: { fontSize: 10 }},
legend: { none" }
};
var chart = new google.visualization.LineChart(document.getElementById('EvolucaoPeso'));
chart.draw(tdata, options);
});
}
</script>