1

我正在使用 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;
}
4

1 回答 1

-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);
        }

我知道这不是正确的方法......但这就是我所知道的:-)

于 2012-06-08T07:15:45.197 回答