2017-02-26 47 views
-2

我想改变一些AxisLabelsin一些系列为我的图表的MSChart:我怎样才能改变一些AxisLabels

  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; 
        }       
       } 
      } 

我试图通过一个开关来改变他们,但什么都没有发生。

+0

你可以在这里添加你的代码给初学者吗? –

回答

2

您的DataPoints没有真实AxisLabels。他们显示的字符串是从DataPoint.XValues自动创建的。

所以你的开关永远不会打。

通过

switch (DP.XValue + "") 

更换

switch (DP.AxisLabel) 

,它会工作。

请注意,我已经转换了doubleXValuestring以配合您的switch代码。如果将switch选项更改为numbers,则可以直接使用它。

后您已设置AxisLabels你可以把它们用于测试,但直到然后..

见各种图表标签here for a good overview