実行時にスタックエリアチャートを作成したいとします。私はボタンをクリックするとデータポイントを追加したい。データテーブルに新しい行を追加中にエラーが発生する
ただし、 'この行はすでに別のテーブル'に属しています。
ここにはSimple Projectの完全なコードがあります。
DataRow drIBM, drMSN, drMCN;
DataTable chartData = new DataTable();
Random r = new Random();
int count = 0;
protected void Page_Load(object sender, EventArgs e)
{
chartData.Columns.Add("Series Label", typeof(string));
for (int i = 0; i < 10; i++)
{
chartData.Columns.Add("DP_" + i.ToString(), typeof(int)); // Addind Datapoints as a Columns
}
drIBM = chartData.NewRow();
drMSN = chartData.NewRow();
drMCN = chartData.NewRow();
drIBM["Series Label"] = "IBM";
drMSN["Series Label"] = "MSN";
drMCN["Series Label"] = "MCN";
if (Session["chartData"] == null)
{
Session["chartData"] = chartData;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
count++;
chartData = Session["chartData"] as DataTable;
drIBM[count] = r.Next(1, 10); // Datarow[Column Index] getting random number
drMSN[count] = r.Next(1, 10);
drMCN[count] = r.Next(1, 10);
chartData.Rows.Add(drIBM); // In this part I am getting above error.
chartData.Rows.Add(drMSN);
chartData.Rows.Add(drMCN);
Session["chartData"] = chartData;
UltraChart1.DataSource = Session["chartData"];
UltraChart1.DataBind();
}