如果金额不符合条件,则更改图表的条形颜色

时间:2016-07-22 12:36:41

标签: c# charts bar-chart

如果总金额低于5,000,我如何更改barchart的颜色?

这是我的代码..

        cmd = new MySqlCommand("SELECT DATE_FORMAT(date, '%m-%d-%y') date, SUM(totalamount) totalamt FROM tblsales WHERE month(date) = month(now()) GROUP BY date");
        cmd.Connection = dbConn;

        MySqlDataReader rdr = cmd.ExecuteReader();

        while (rdr.Read())
        {
            this.chart1.Series["Month"].Points.AddXY(rdr["date"].ToString(), rdr.GetDouble("totalamt"));
        }

        rdr.Close();

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以根据Color的{​​{1}}属性设置条形图的颜色:

DataPoint

但是chart1.Series[0].Points[i].Color = Color.Red; 属性没有表达式,所以每当设置或更改数据时都必须设置它。

您可以在添加Color时执行此操作:

DataPoints

或者您可以编写一个函数以便稍后更新颜色:

while (rdr.Read())
{
    int index = this.chart1.Series["Month"].Points.AddXY(rdr["date"].ToString(),
                                                         rdr.GetDouble("totalamt"));
    if (rdr.GetDouble("totalamt") < 5000) 
        this.chart1.Series["Month"].Points[index].Color = Color.Red;
}

答案 1 :(得分:0)

好像您正在使用ASP.NET图表。对于同样的事情,你可以做类似

的事情
chart1.Series[0].Color = Color.Green;

根据If Else条件中的值选择适合您的颜色。