我想显示来自数据库chart.js
的数据。
在asp.net MVC中,我有一个控制器,它从数据库中检索数据并使用以下代码在视图中显示它们:
@foreach(var items in Model)
{
<h6>@items.title</h6>
<h6>@items.cuntr</h6>
}
如何在@items.title
中展示@items.cuntr
和chart.js
?非常感谢。
答案 0 :(得分:3)
请看一下这个链接:http://www.c-sharpcorner.com/article/create-free-charts-using-chart-js-in-asp-net-mvc/ 它描述了在mvc中使用图表的所有相关步骤。
让我们说这是你的控制器方法:
public ActionResult Index()
{
ViewBag.Data = "Value,Value1,Value2,Value3"; //list of strings that you need to show on the chart. as mentioned in the example from c-sharpcorner
ViewBag.ObjectName = "Test,Test1,Test2,Test3";
}
您可以在视图包中返回数据并将其传递给图表中的数据属性:
这是你的观点:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Charts</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.2.2/Chart.bundle.min.js"></script>
<script>
var barChartData =
{
labels: [@Html.Raw(ViewBag.ObjectName)], //the names displayed on the x-axis, see images below
datasets: [{
label: 'ProductWise Sales Count',
backgroundColor: [
"#f990a7",
"#aad2ed",
"#9966FF",
"#99e5e5",
"#f7bd83",
],
borderWidth: 2,
data: [@ViewBag.Data] //what you returned back from controller. values displayed on the y-axis, see images below
}]
};
window.onload = function () {
var ctx1 = document.getElementById("barcanvas").getContext("2d");
window.myBar = new Chart(ctx1,
{
type: 'bar',
data: barChartData,
options:
{
title:
{
display: true,
text: "ProductWise Sales Count"
},
responsive: true,
maintainAspectRatio: true
}
});
}
</script>
</head>
<body>
<div style="text-align: center">
<canvas id="barcanvas"></canvas>
</div>
<div style="text-align: center">
Disclaimer:- This data is for demo it is
not real data it wont relate to any company
</div>
</body>
</html>
答案 1 :(得分:0)
您应该可以直接从 <form>
<select name="region" id="region" class="region" >
<option selected="selected" value="'Base','abs','Ram'">North</option>
<option value="'Base','noabs','Sita'">South</option>
</select>
</form>
<div id="results">
</div>
<script>
$( document ).ready(function() {
$( "select" ).on( "change", change_pack );
});
function change_pack(pack, table, name){
// directly get all the data of form in str.
var str = $( "form" ).serialize();
$("#results").html(str);
$.ajax({
type: "POST",
url: "extra/plan.php",
data: "name="+name+"&tble="+table+"&pack="+pack,
cache: false,
success: function(response){
//alert(response);return false;
$("#plan").html(response);
}
});
}
</script>
访问它。例如{
"id": "123",
"labels": ["ABC", "CBA", "DEF"],
"created_time": ...
}
我发现该项目在创建图表时有所帮助,可能需要进行一些调整,但可以使用
答案 2 :(得分:-1)
This是迄今为止我所遇到的最简单的示例,只需复制粘贴 代码在您的View&Controller中,然后让您的叔叔bo。您以后可以修改
完成后,您可以像这样调用数据库:
dr = dt.NewRow();
dr["Employee"] = "Someone";
dr["Credit"] = rawData.Where(a => a.person == "Someone").Count().ToString();
dt.Rows.Add(dr);