Remove DataSourceID="SqlDataSource1"
element from the Chart
in your aspx page, it probably does not exist, and you don't need it as you try to fill the data to the chart programatically.
Need to get the pie chart with % values
-
31-03-2022 - |
Question
My ASPX part
<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>
My code-behind follows down:
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);
}
But I am getting the following exception: "The DataSourceID of Chart1
must be the ID of a control of type IDataSource
. A control with ID SqlDataSource1
could not be found."
Solution
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow