2016-10-13 1 views
3

Dans mon application web, j'ai besoin d'afficher les données du graphique à colonnes de la table de données J'ai 3 colonnes dans cet axe X dans ma zone de graphique côté et la colonne 2ème et j'ai besoin d'afficher des couleurs différentes pour la légende d'affichage de série aussi à partir du tableau de données.Comment puis-je afficher le graphique à colonnes multi-séries dans asp.net

J'ai besoin de même comme ceci comment puis-je faire ceci s'il vous plaît n'importe qui peut m'aider comment faire ceci.

Merci

Répondre

1

En supposant que votre DataTable a la colonne suivante/types:

Columns.Add("Month", typeof(DateTime)); 
    Columns.Add("Charges", typeof(double)); 
    Columns.Add("Payments", typeof(double)); 

ASPX:

<asp:Chart ID="Chart1" runat="server" Height="400px" Width="600px"> 
     <ChartAreas> 
      <asp:ChartArea Name="ChartArea1"> 
       <AxisY> 
        <MajorGrid LineColor="DarkGray" LineDashStyle="Dot" /> 
        <LabelStyle Format="C2" /> 
       </AxisY> 
       <AxisX> 
        <MajorGrid LineColor="DarkGray" LineDashStyle="Dot" /> 
       </AxisX> 
      </asp:ChartArea> 
     </ChartAreas> 
     <Legends> 
      <asp:Legend Name="Legend1"> 
      </asp:Legend> 
     </Legends> 
    </asp:Chart> 

CS:

protected void Page_Load(object sender, EventArgs e) 
    { 
     foreach (DataRow r in dt.Rows) 
     { 
      Series s = new Series(string.Format("{0} {1}", ((DateTime)r["Month"]).ToString("MMM"), ((DateTime)r["Month"]).Year)); 
      s.ChartType = SeriesChartType.Column; 
      s.Points.AddXY("Charges", new object[] { r["Charges"] }); 
      s.Points.AddXY("Payments", new object[] { r["Payments"] }); 

      Chart1.Series.Add(s); 
     } 
    } 

enter image description here


EDIT: En supposant que votre DataTable a la colonne suivante/types:

Columns.Add("Month", typeof(string)); 
    Columns.Add("Charges", typeof(double)); 
    Columns.Add("Payments", typeof(double)); 

OU

Columns.Add("Month"); 
    Columns.Add("Charges"); 
    Columns.Add("Payments"); 

Ensuite, vous devez modifier le code à ce :

protected void Page_Load(object sender, EventArgs e) 
    { 
     foreach (DataRow r in dt.Rows) 
     { 
      Series s = new Series((string)r["Month"]); 
      s.ChartType = SeriesChartType.Column; 
      s.Points.AddXY("Charges", new object[] { r["Charges"] }); 
      s.Points.AddXY("Payments", new object[] { r["Payments"] }); 

      Chart1.Series.Add(s); 
     } 
    } 
+0

Quels types de colonnes avez-vous dans votre tableau? – jsanalytics

+0

Dans ma table de données j'ai déjà la colonne 'Month' et les valeurs comme ceci' Aug-2016' comment puis-je prendre cela en série –

+0

Quels sont les types pour chaque colonne de votre tableau? Quel est le type de la colonne 'Month'? Quel est le type de colonne "Paiements"? Quel est le type de la colonne 'Charges'? – jsanalytics