我想为我的图表
更改一些AxisLabelsin系列 DataTable dt = new DataTable();
SqlCommand s = new SqlCommand("ReportMonthly", SCon);
s.CommandType = CommandType.StoredProcedure;
s.Parameters.AddWithValue("@Y", Y);
SCon.Open();
SqlDataReader dr = s.ExecuteReader();
dt.Load(dr);
chtWRMonthly.DataSource = dt;
chtWRMonthly.Series["Sold"].XValueMember = "x";
chtWRMonthly.Series["sRemaining"].XValueMember = "x";
chtWRMonthly.Series["Bought"].XValueMember = "x";
chtWRMonthly.Series["bRemaining"].XValueMember = "x";
chtWRMonthly.Series["Sold"].YValueMembers = "sTAccount";
chtWRMonthly.Series["sRemaining"].YValueMembers = "sRemaining";
chtWRMonthly.Series["Bought"].YValueMembers = "bTAccount";
chtWRMonthly.Series["bRemaining"].YValueMembers = "bRemaining";
SCon.Close();
//انتصاب نام ماه ها
foreach (Series SR in chtWRMonthly.Series)
{
foreach (DataPoint DP in SR.Points)
{
switch (DP.AxisLabel)
{
case "1":
DP.AxisLabel = "x1";
break;
case "2":
DP.AxisLabel = "x2";
break;
case "3":
DP.AxisLabel = "x3";
break;
case "4":
DP.AxisLabel = "x4";
break;
}
}
}
我尝试通过Switch更改它们但没有任何反应。
答案 0 :(得分:2)
您的DataPoints
没有真实AxisLabels
。它们显示的字符串是从DataPoint.XValues
。
所以你的开关永远不会命中。
替换
switch (DP.AxisLabel)
通过
switch (DP.XValue + "")
它会起作用。
请注意,我已将double
XValue
转换为string
以符合您的switch
代码。如果您将switch
选项更改为numbers
,则可以直接使用它。
之后您已设置AxisLabels
,您可以将它们用于测试,但直到那时才会使用..
请参阅各种图表标签的here for a good overview。