현재 ASP.NET에서 개발 된 웹 사이트에 Google Charts API를 사용하여 막 대형 차트를 구현하고 있습니다. 나는 그 값으로 차트를 보여 주었다. 백엔드 데이터베이스에서이 값을 얻고 있습니다. 값은 다음과 같습니다.값이 잘못된 라벨로 지정되었습니다.
코스 : 설정 DB에서 소매에
진행 : 설정
막대 그래프가이 페이지에 표시 될 때 지금은 데 문제가 DB
에서 에 그 다음과 같이;과정이 진행 값을 가져옵니다.
당신의 도움이 사전에 코드는private void BindChart()
{
DataTable dsChartData = new DataTable();
StringBuilder strScript = new StringBuilder();
try
{
dsChartData = GetChartData();
strScript.Append(@"<script type='text/javascript'>
google.load('visualization', '1', {packages: ['corechart']}); </script>
<script type='text/javascript'>
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Progression', 'Course'],");
foreach (DataRow row in dsChartData.Rows)
{
strScript.Append("['" + row["Course"] + "'," + row["Progression"] + "],");
}
strScript.Remove(strScript.Length - 1, 1);
strScript.Append("]);");
strScript.Append(@" var options = {
hAxis: {
viewWindow: {
min: 0,
max: 100
},
ticks: [0, 25, 50, 75, 100],
},
title: 'My Progression (%)'
}; ");
strScript.Append(@"var chart = new google.visualization.BarChart(document.getElementById('barchart'));
chart.draw(data, options);
}
google.setOnLoadCallback(drawChart);
");
strScript.Append(" </script>");
ltScripts.Text = strScript.ToString();
}
catch
{
}
finally
{
dsChartData.Dispose();
strScript.Clear();
}
}
그리고 데이터베이스에서 데이터를 가져 오기 위해 나는 아래의 코드를 사용하고
private DataTable GetChartData()
{
string UsrName = User.Identity.Name;
DataSet dt = new DataSet();
try
{
using (SqlConnection conn = new SqlConnection(Common.ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("SELECT Progression,Course FROM Messages where [email protected]"))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
SqlParameter para = new SqlParameter("UserName", UsrName);
cmd.Parameters.Add(para);
cmd.Connection = conn;
sda.SelectCommand = cmd;
sda.Fill(dt);
}
}
}
}
catch (Exception)
{
throw;
}
return dt.Tables[0];
}
감사합니다 아래 차트에 데이터를 바인딩하려면
@Downvoter 왜 그런가? – Izzy
이유가 확실하지 않습니다. 나는이 질문을 더 분명하게 만들거나 더 많은 정보를 제공 할 수 있다고 생각하지 않는다. –