2016-10-13 2 views
3

В моем веб-приложении мне нужно отобразить привязку данных диаграммы столбца из таблицы данных. У меня есть 3 столбца на этой оси X в моей области диаграммы. Мне нужно отобразить col1 one стороне и столбце 2, и мне нужно отображать разные цвета для обозначения условного обозначения серии также из таблицы данных.Как я могу отобразить диаграмму столбцов нескольких серий в asp.net

Мне нужно такое же, как это, как я могу это сделать, пожалуйста, кто-нибудь может мне помочь, как это сделать.

Спасибо

ответ

1

Предполагая, что ваши DataTable имеет следующие столбцы/типы:

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: Если предположить, что DataTable имеет следующие колонки/типы:

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

ИЛИ

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

Тогда вы должны изменить код, чтобы это :

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

Какие типы столбцов у вас есть в вашем столе? – jsanalytics

+0

В моей таблице данных у меня уже есть столбец «месяц» и значения типа «август-2016», как я могу взять это в ряд –

+0

. Каковы типы для каждого столбца в таблице? Каков тип столбца «месяц»? Каков тип столбца «Платежи»? Каков тип столбца «Сборы»? – jsanalytics

Смежные вопросы