【问题标题】:Chage the color of a series of an asp:Chart改变一系列asp的颜色:图表
【发布时间】:2019-05-06 13:11:37
【问题描述】:

我创建了一个 asp:Chart。在此图表中,每个月有两个条形图,显示所有项目每个月的工作量估算和实际收费。 Example

应该有点像这个图表。左边应该显示实际充电,右边应该显示工作量估计。 现在我喜欢用同一种颜色显示一个项目的实际收费和预算。我试着这样编程。

    foreach (DataRow row in dtblProjectAnalysisProductive.Rows)
    {
       EmployeeChart.Series.Add(row["OrderName"].ToString() + " EstimatedEffort");
       EmployeeChart.Series[row["OrderName"].ToString() + " EstimatedEffort"].ChartType = SeriesChartType.StackedColumn;
       EmployeeChart.Series[row["OrderName"].ToString() + " EstimatedEffort"]["StackedGroupName"] = "EffortEstimation";
       EmployeeChart.Series[row["OrderName"].ToString() + " EstimatedEffort"].Color = EmployeeChart.Series[row["OrderName"].ToString()].Color;
    }

但这不起作用。如果我调试代码,则该系列的任何属性都没有设置颜色。 那么有人可以帮我解决这个问题或告诉我,该系列的颜色是在什么时候设置的?

【问题讨论】:

  • 如果你这样做会发生什么 EmployeeChart.Series[row["OrderName"].ToString() + " EstimatedEffort"].Color = Color.Red ?
  • 然后栏变红了,但我喜欢用同一个项目的颜色

标签: c# html asp.net web-applications


【解决方案1】:

你可以在 asp:chart 中进行 OnPostPaint 事件

<asp:CHART id="Chart1" ..  OnPostPaint="Chart1_PostPaint">

c#

 protected void Chart1_PostPaint(object sender, ChartPaintEventArgs e)
 {
   Chart1.Series["Series2"].Color = Chart1.Series["Series1"].Color;
 }

我不确定执行此操作的最佳方法。请阅读this article 并找到最好的。

【讨论】:

  • 工作正常!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-06
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多