我在让XAxis在我的图表控件中显示正确的值时遇到问题。以下是我如何生成要显示的每个系列。我希望XAxis显示s.DataType:
中的DataType值 foreach (SummaryData s in summaryData)
{
System.Web.UI.DataVisualization.Charting.Series series = new System.Web.UI.DataVisualization.Charting.Series(s.DataType);
series.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Column;
DataPoint dp = new DataPoint();
dp.Name = s.DataType;
dp.SetValueY(s.Total);
dp.SetCustomProperty("DataType", s.DataType);
series.XValueMember = "DataType";
series.Points.Add(dp);
msBarVertLegRight.Series.Add(series);
}
msBarVertLegRight.DataBind();
显示corect值并在Legend中显示正确的名称,但我不确定如何设置XAxis值。
JH
答案 0 :(得分:0)
看起来你正在尝试使用数据绑定(这是XValueMember
的用途)并逐个添加点。你可以做其中一个。您可以像(大约)一样使用数据绑定:
series.XValueMember = "DataType";
series.YValueMember = "ThePropertyWithY";
series.DataSource = s;
series.DataBind();
或者您可以单独设置每个点:
System.Web.UI.DataVisualization.Charting.Series series = new System.Web.UI.DataVisualization.Charting.Series("mySeries");
series.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Column;
foreach (SummaryData s in summaryData)
{
series.AddXY(s.DataType, s.Total);
}
我不确定为什么每个SummaryData.DataType
都有自己的系列;如果需要,请重新添加,但是从您发布的代码中看起来似乎没有必要。
数据绑定时,对基础数据(SummaryData
对象)的任何更改都将自动反映在图表中;如果单独添加点,则需要手动处理图表更新。