gpt4 book ai didi

c# - 使用 ASP.net 将 Highcharts 连接到数据库

转载 作者:行者123 更新时间:2023-11-29 17:51:21 25 4
gpt4 key购买 nike

我一直在尝试将我的 highcharts 图表连接到数据库,以便我可以获得实时数据。我一直在尝试连接的表称为 dbo.Answers_int。我遇到了麻烦。我的代码基于此网站 https://www.c-sharpcorner.com/UploadFile/1f3f2a/charting-in-mvc/

当我尝试加载页面时,highcharts 甚至没有出现。我没主意了。任何帮助将不胜感激。

ReportsController.cs:

    public class ReportsController : Controller{
private HHDBEntities db = new HHDBEntities();

public static DataTable GetQuestionSummary()
{
DataTable dt = new DataTable("ChartSummary");
string query = "Select QuestionAns From [dbo].[Answers_int]";
string connString = ConfigurationManager.ConnectionStrings["SampleMembershipDB"].ConnectionString;
SqlConnection con = new SqlConnection(connString);
//con.ConnectionString = "Data Source=.;" + "Initial Catalog=Transport;" + "Persist Security Info=True;";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = query;
//cmd.Connection = con;
SqlDataAdapter da = new SqlDataAdapter(cmd);
con.Open();
da.Fill(dt);
con.Close();
return dt;

}
public class Summary
{
public double Item { get; set; }
public string Value { get; set; }
}

public JsonResult ChartSummary()
{
List<Summary> lstSummary = new List<Summary>();

foreach (DataRow dr in GetQuestionSummary().Rows)
{
Summary summary = new Summary();
summary.Value = dr[0].ToString().Trim();
summary.Item = Convert.ToDouble(dr[1]);
lstSummary.Add(summary);

}
return Json(lstSummary.ToList(), JsonRequestBehavior.AllowGet);
}

PieChart.cshtml:

    $(function () {
$.ajax({
url: 'Reports/PieChart',
dataType: "json",
type: "GET",
contentType: 'application/json; charset=utf-8',
async: false,
processData: false,
cache: false,
delay: 15,
success: function (data) {
// alert(data);
var series = new Array();
for (var i in data) {
var serie = new Array(data[i].Value, data[i].Item);
series.push(serie);
}
DrawPieChart(series);
},
error: function (xhr) {
alert('error');
}
});
});
function DrawPieChart(series) {
$('#container').highcharts({

chart: {
plotBackgroundColor: null,
plotBorderWidth: 1, //null,
plotShadow: false
},
title: {
text: ' Vehicle Summary'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
}
},
series: [{
type: 'pie',
name: 'Task Status',
data: series
}]
});
}

最佳答案

您只能从数据库中获取一列。您将在示例中看到返回 2 列,其中一列是返回百分比的计算。看来您需要它来创建图表。

在本节中

foreach (DataRow dr in GetQuestionSummary().Rows)
{
Summary summary = new Summary();
summary.Value = dr[0].ToString().Trim();
summary.Item = Convert.ToDouble(dr[1]);
lstSummary.Add(summary);
}

您可以看到需要一个 Item 和一个 Value。同样,您需要 2 列数据才能使用。

关于c# - 使用 ASP.net 将 Highcharts 连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49310122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com