我正在使用coulmn图表,其中我想将表格的coulmn与系列的结合 我知道points.databind()方法。但是它首先采用什么类型的对象 参数???
.aspx代码:
<asp:Chart ID="Chart1" runat="server">
<Series>
<asp:Series Name="Series1">
</Points>
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
代码背后:
protected void Page_Load(object sender, EventArgs e)
{
assessdal d=new assessdal();
Chart1.DataSource = d.showop1();
Chart1.DataBind();
Chart1.Series[0].Points.DataBind(?,"qno");
}
public DataSet showop1()
{
SqlConnection con = dbconnect.GetConnection();
SqlCommand cmd = new SqlCommand("select assessid, qno ,description,
option1,option2,option3,option4 from assessmenttest", con);
SqlDataAdapter ad =new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
ad.Fill(ds);
return ds;
}
答案 0 :(得分:-1)
如果我是对的,在那个例子中(从你采用上面的代码的地方),他们使用datareader来绑定图表。
你正在使用数据集进行绑定。
如下所示...如果你有更多行要绑定。 (超过1个系列)
for each (DataRow row in dssearchgrid.Tables[0].Rows)
{
string seriesName = row["sno"].ToString();
Chart1.Series.Add(seriesName);
Chart1.Series[seriesName].ChartType = SeriesChartType.Line;
Chart1.Series[seriesName].BorderWidth = 2;
for (int colIndex = 1; colIndex < dssearchgrid.Tables[0].Columns.Count; colIndex++)
{
// For each column (column 1 and onward) add the value as a point
string columnName = dssearchgrid.Tables[0].Columns[colIndex].ColumnName;
if (row[columnName] != "")
{
YVal = Convert.ToInt32(row[columnName]);
}
else
{
YVal = 0;
}
Chart1.Series[seriesName].Points.AddXY(columnName, YVal);
}
我知道这不是正确的方法......但这就是我所知道的: - )