我的数据库表中有 2 列ID和Severity,它们都是数据类型字符串,其中 Severity 列具有 High、Medium 和 Low 值。我添加了一个图表控件并使用 sql 数据源指定了它的数据,但我无法获得输出,因为 Y 坐标值应该是整数类型。我需要生成一个如下图,每个严重级别都有一个百分比值:
代码:
private void GetChartData()
{
string cs = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(cs))
{
con.Open();
SqlCommand cmd = new SqlCommand("SELECT ID, Severity FROM AMD", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
con.Close();
}
Chart1.Series[0].XValueMember = "Severity";
Chart1.Series[0].YValueMembers = "ID";
Chart1.Series[0].ChartArea = "ChartArea1";
Chart1.DataSource = dt;
Chart1.DataBind();
int high = 0, med = 0, low = 0;
string[] x = new string[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
x[i] = dt.Rows[i][0].ToString();
//y[i] = dt.Rows[i][1].ToString();
if (dt.Rows[i][1].ToString().ToLower().Contains("high"))
{
high++;
}
else if (dt.Rows[i][1].ToString().ToLower().Contains("medium"))
{
med++;
}
else if (dt.Rows[i][1].ToString().ToLower().Contains("low"))
{
low++;
}
Chart1.Series[1].Points.DataBindXY(x, high);
}
}
我该如何实现这一目标?请指导...提前谢谢...