2013-04-01 2 views
0

Моих Aspx Частинужно, чтобы получить круговую диаграмму с% значениями

<div runat="server" id="divMain"> 
    <asp:Chart ID="Chart1" runat="server" DataSourceID="SqlDataSource1"> 
     <Series> 
      <asp:Series Name="Series1" ChartType="Pie"> 
      <Points> 

       //I want this part to come from code-behind 

       //<asp:DataPoint AxisLabel="1 Star" YValues="100" /> 
       //<asp:DataPoint AxisLabel="2 Star" YValues="123" /> 
       //<asp:DataPoint AxisLabel="3 Star" YValues="155" /> 
       //<asp:DataPoint AxisLabel="4 Star" YValues="245" /> 

      </Points> 
      </asp:Series> 
     </Series> 
     <ChartAreas> 
      <asp:ChartArea Name="ChartArea1"> 

      </asp:ChartArea> 
     </ChartAreas> 
     <Legends> 
      <asp:Legend Title="Test abc" /> 
     </Legends> 
    </asp:Chart> 
    </div> 

Моим код-за следующие вниз:

protected void Page_Load(object sender, EventArgs e) 
{ 
    double[] yValues = { 10, 27.5, 7, 12, 45.5 }; 
    string[] xNames = { "Mike", "John", "William", "George", "Alex" }; 

    Series series1 = new Series("pie"); 
    series1.ChartType = SeriesChartType.Pie; 
    series1.BorderWidth = 3; 
    series1.ShadowOffset = 2; 
    Chart1.Series[0].Points.DataBindXY(xNames, yValues); 
    divMain.Controls.Add(Chart1); 
} 

Но я получаю следующее исключение: «The DataSourceID из Chart1 сусла идентификатор элемента управления IDataSource. Элемент управления с ID SqlDataSource1 не найден. "

ответ

1

Удалите DataSourceID="SqlDataSource1" элемент из Chart на вашей странице aspx, вероятно, он не существует, и вам это не нужно, когда вы пытаетесь программно заполнить данные на диаграмме.

+0

Да, его работа, но вещи, которые я хочу связать в процентах, как 20%, 45%, как это вместо 20, 45.24 и т. Д., Могут быть полезны, если вы можете. Спасибо – Rakesh

+0

Вам нужно отформатировать ярлыки. Вот статья, которая может помочь: http://blogs.msdn.com/b/alexgor/archive/2008/11/11/microsoft-chart-control-how-to-using-keywords.aspx – amhed