2017-02-26 1 views
-2

Je veux changer certaines AxisLabelsin certaines séries pour mon graphiqueMSChart: comment puis-je changer quelques 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; 
        }       
       } 
      } 

J'ai essayé de les changer via un commutateur, mais rien ne se passe.

+0

Pouvez-vous ajouter votre code ici pour les débutants? –

Répondre

2

Vos DataPoints n'ont pas de réel AxisLabels. Les chaînes qu'ils affichent sont automatiquement créées à partir du DataPoint.XValues.

Votre commutateur ne fonctionne donc jamais.

Remplacer

switch (DP.AxisLabel) 

par

switch (DP.XValue + "") 

et ça va marcher.

Notez que j'ai converti le doubleXValue en un string pour correspondre à votre code switch. Vous pouvez l'utiliser directement si vous modifiez les options switch en numbers.

Après que vous avez défini AxisLabels vous pouvez les utiliser pour votre test, mais pas jusque-là ..

Voir here for a good overview des différentes étiquettes de graphique.