C# 图表,显示列表中的数据
我正在尝试在asp.net aspx视图中显示图形 在我的aspx文件中,我有以下内容:C# 图表,显示列表中的数据,c#,asp.net,asp.net-mvc,asp.net-mvc-4,charts,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Charts,我正在尝试在asp.net aspx视图中显示图形 在我的aspx文件中,我有以下内容: <asp:Chart ID="Chart1" runat="server" OnLoad="Chart1_Load"> <series> <asp:Series Name="Series1"> <Points> <asp:DataPoint AxisLabel="Test 1" YValues="10"
<asp:Chart ID="Chart1" runat="server" OnLoad="Chart1_Load">
<series>
<asp:Series Name="Series1">
<Points> <asp:DataPoint AxisLabel="Test 1" YValues="10" />
<asp:DataPoint AxisLabel="Test 2" YValues="20" />
<asp:DataPoint AxisLabel="Test 3" YValues="30" />
<asp:DataPoint AxisLabel="Test 4" YValues="40" />
</Points>
</asp:Series>
</series>
<chartareas>
<asp:ChartArea Name="ChartArea1">
</asp:ChartArea>
</chartareas>
</asp:Chart>
我还有一个列表,其中包含aspx中的整数值
<%
List<int> timeList = new List<int>();
%>
在aspx中,我将数据放入列表中
我的问题是我想,
我希望从列表中获取值,而不是YValues=30
我很难实现这一点。我花了很多时间试图找到这个问题
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataTable dt = GetTestData();
LoadChartCurrencyTotal(dt);
}
}
private void LoadChartCurrencyTotal(DataTable initialDataSource)
{
for (int i = 1; i < initialDataSource.Columns.Count; i++)
{
Series series = new Series();
foreach (DataRow dr in initialDataSource.Rows)
{
int y = (int)dr[i];
series.Points.AddXY(dr["Data"].ToString(), y);
}
Chart1.Series.Add(series);
}
}
private DataTable GetTestData()
{
DataTable dt = new DataTable();
dt.Columns.Add("Data", Type.GetType("System.String"));
dt.Columns.Add("Value1", Type.GetType("System.Int32"));
dt.Columns.Add("Value2", Type.GetType("System.Int32"));
dt.Columns.Add("Value3", Type.GetType("System.Int32"));
DataRow dr1 = dt.NewRow();
dr1["Data"] = "series1";
dr1["Value1"] = 32;
dr1["Value2"] = -2;
dr1["Value3"] = 46;
dt.Rows.Add(dr1);
DataRow dr2 = dt.NewRow();
dr2["Data"] = "series2";
dr2["Value1"] = -62;
dr2["Value2"] = 0;
dr2["Value3"] = 99;
dt.Rows.Add(dr2);
DataRow dr3 = dt.NewRow();
dr3["Data"] = "series3";
dr3["Value1"] = 19;
dr3["Value2"] = 23;
dr3["Value3"] = 98;
dt.Rows.Add(dr3);
return dt;
}